Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert die Ersetzungsoperation von Sonderzeichen

PHP implementiert die Ersetzungsoperation von Sonderzeichen

王林
王林Original
2019-08-15 11:04:094481Durchsuche

Vorwort: Als PHP-Benutzer müssen Sie die Funktionsweise von Zeichenfolgen beherrschen. Daher werden wir uns mit der Frage befassen, wie sensible Wörter in Zeichenfolgen ersetzt oder blockiert werden stellen sie ihnen die ersatz methode. Der Artikel dient nur als Referenz, vielen Dank!

Beispiel:

Schritt 1: Suche nach sensiblen Wörtern in der Zeichenfolge

int substr_count(string haystack,string needle)

substr_count()-Funktion ruft das Vorkommen von Teilzeichenfolgen ab , der Parameter Heuhaufen ist die angegebene Zeichenfolge und der Parameter Nadel ist das angegebene Zeichen.

//定义敏感词数组
$array = array('骂人','肮脏','污秽');
//定义包含敏感词的字符串
$mgstr = '这是包含骂人肮脏污秽的话';
//利用循环判断字符串是否包含敏感词
for($i = 0; $i <= count($array); $i++) {
$count = substr_count($mgstr, $array);
if($count > 0) {
$info = $count;
break;
}
}
if($info > 0) {
//有敏感字符
return true;
}else{
//无敏感字符
return false;
}

Schritt 2: Verwenden Sie die Funktion preg_replace(), um sensible Wörter zu ersetzen

Die Funktion preg_replace() führt eine Suche und Ersetzung regulärer Ausdrücke durch

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
//关键词存放在.txt文件中
<?php
//自定义替换函数
function Replace($str, $filenam){
if(!($words = file_get_contents($filename))) {
//将敏感词语文本取出
die(&#39;文件获取失败!&#39;);
}
//取出成功,将字符串改成小写
$string = strtolower($str);
$word = preg_replace(&#39;/[1,2,3]\r\n|\r\n/i&#39;,&#39;&#39;,$words);
//字符串中出现文本敏感词,用特殊符号替换
$match = preg_replace(&#39;/&#39;.$word.&#39;/i&#39;,&#39;***&#39;,$string);
return $match;
}
//定义包含敏感词的字符串
$content = &#39;<a href="#">肮脏fsdf污秽d 骂人</a>&#39;
//判断是否替换成功
if($result = Replace($content, &#39;./words.txt&#39;)) {
echo $result;
echo &#39;替换成功!&#39;;
}else {
echo &#39;替换失败!&#39;;
}
?>

Das obige ist der detaillierte Inhalt vonPHP implementiert die Ersetzungsoperation von Sonderzeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn