실제 프로젝트에서는 민감한 단어를 차단하는 것이 불가피합니다. 이 문서에서는 참조용으로 민감한 단어 감지 인터페이스를 캡슐화하기 위해 TP5를 예로 사용합니다.
Alibaba 클라우드 콘텐츠 감지 API SDK 개발 키트: https://help.aliyun.com/knowledge_detail/50180.html
<?php namespace Potting; include_once 'Aliyun/aliyun-php-sdk-core/Config.php'; use Green\Request\V20170112 as Green; class TextScan{ private static $accessKeyId=''; private static $accessKeySecret=''; static public function text($content){ date_default_timezone_set("PRC"); $iClientProfile = \DefaultProfile::getProfile("cn-shanghai", self::$accessKeyId, self::$accessKeySecret); \DefaultProfile::addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com"); $client = new \DefaultAcsClient($iClientProfile); $request = new Green\TextScanRequest(); $request->setMethod("POST"); $request->setAcceptFormat("JSON"); $task1 = array('dataId' => uniqid(), 'content' => $content ); /** * 文本垃圾检测: antispam * 关键词检测: keyword **/ $request->setContent(json_encode(array("tasks" => array($task1), "scenes" => array("antispam")))); try { $response = $client->getAcsResponse($request); $result=array(); if(200 == $response->code){ $taskResults = $response->data; foreach ($taskResults as $taskResult) { if(200 == $taskResult->code){ $sceneResults = $taskResult->results; foreach ($sceneResults as $sceneResult) { $scene = $sceneResult->scene; $suggestion = $sceneResult->suggestion; $result=$taskResult; } }else{ print_r("task process fail:" + $response->code); } } }else{ print_r("detect not success. code:" + $response->code); } $result=$result->results[0]; $data=array(); if($result->label == 'normal'){ $data['code']=true; $data['label']=$result->label; }else{ $data['code']=false; $data['label']=self::getlabel($result->label); } return $data; } catch (Exception $e) { print_r($e); } } static private function getlabel($label){ switch ($label){ case 'normal': return '正常文本'; break; case 'spam': return '输入的内容含垃圾信息'; break; case 'ad': return '输入的内容含广告'; break; case 'politics': return '输入的内容含渉政'; break; case 'terrorism': return '输入的内容含暴恐'; break; case 'abuse': return '输入的内容含辱骂'; break; case 'porn': return '输入的内容含色情'; break; case 'flood': return '输入的内容含灌水'; break; case 'contraband': return '输入的内容含垃违禁'; break; case 'customized': return '输入的内容包含敏感词'; break; default: return ''; break; } } }
관련 읽기:
이메일 전송 서비스 캡슐화를 구현하고 첨부 파일을 보내는 TP5의 예
tp5에서 비동기 이메일 확인을 위해 bootstrapvalidator를 사용하는 방법의 예
위 내용이 이 글의 전체 내용입니다. 아래에 댓글을 달 수 있습니다. 토론해 보세요~
위 내용은 TP5는 Alibaba Cloud의 민감한 단어 감지 인터페이스를 캡슐화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!