Maison  >  Article  >  développement back-end  >  TP5 encapsule l'interface de détection de mots sensibles d'Alibaba Cloud

TP5 encapsule l'interface de détection de mots sensibles d'Alibaba Cloud

*文
*文original
2017-12-21 11:14:113866parcourir

Dans les projets réels, il est inévitable que les mots sensibles doivent être bloqués. Cet article utilise TP5 comme exemple pour encapsuler une interface de détection de mots sensibles pour votre référence.

Kit de développement du SDK de l'API de détection de contenu Alibaba Cloud : https://help.aliyun.com/knowledge_detail/50180.html

<?php
namespace Potting;
include_once &#39;Aliyun/aliyun-php-sdk-core/Config.php&#39;;
use Green\Request\V20170112 as Green;
class TextScan{
	private static $accessKeyId=&#39;&#39;;
	private static $accessKeySecret=&#39;&#39;;
	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(&#39;dataId&#39; => uniqid(),
		&#39;content&#39; => $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 == &#39;normal&#39;){
				$data[&#39;code&#39;]=true;
				$data[&#39;label&#39;]=$result->label;
			}else{
				$data[&#39;code&#39;]=false;
				$data[&#39;label&#39;]=self::getlabel($result->label);
			}
			return $data;
		} catch (Exception $e) {
			print_r($e);
		}

	}
	static private function getlabel($label){
		switch ($label){
			case  &#39;normal&#39;:
				return &#39;正常文本&#39;;
				break;
			case  &#39;spam&#39;:
				return &#39;输入的内容含垃圾信息&#39;;
				break;
			case  &#39;ad&#39;:
				return &#39;输入的内容含广告&#39;;
				break;
			case  &#39;politics&#39;:
				return &#39;输入的内容含渉政&#39;;
				break;
			case  &#39;terrorism&#39;:
				return &#39;输入的内容含暴恐&#39;;
				break;
			case  &#39;abuse&#39;:
				return &#39;输入的内容含辱骂&#39;;
				break;
			case  &#39;porn&#39;:
				return &#39;输入的内容含色情&#39;;
				break;
			case  &#39;flood&#39;:
				return &#39;输入的内容含灌水&#39;;
				break;
			case  &#39;contraband&#39;:
				return &#39;输入的内容含垃违禁&#39;;
				break;
			case  &#39;customized&#39;:
				return &#39;输入的内容包含敏感词&#39;;
				break;
			default:
				return &#39;&#39;;
				break;
		}
	}
}

Lecture connexe :

Un exemple de la façon dont TP5 implémente l'encapsulation du service d'envoi d'e-mails et peut envoyer des pièces jointes

Exemple Tp5 de la façon d'utiliser bootstrapvalidator pour la vérification asynchrone des e-mails

Partage de ressources sur la vidéo d'introduction de TP5.0 MVC

Ce qui précède représente l'intégralité du contenu de cet article. Si les étudiants ont des questions, vous pouvez en discuter dans le commentaire. zone ci-dessous~

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn