Avant-propos : En tant que phper, vous devez maîtriser le fonctionnement des chaînes. Par conséquent, nous entrerons en contact avec la question de savoir comment remplacer ou bloquer les mots sensibles dans les chaînes. Ensuite, nous allons me laisser. vous présenter la méthode de remplacement. L'article est à titre de référence uniquement, merci !
Exemple :
Étape 1 : Rechercher des mots sensibles dans la chaîne
int substr_count(string haystack,string needle)
La fonction substr_count() récupère les occurrences des sous-chaînes fois , le paramètre botte de foin est la chaîne spécifiée et le paramètre aiguille est le caractère spécifié.
//定义敏感词数组 $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; }
Étape 2 : Utilisez la fonction preg_replace() pour remplacer les mots sensibles
La fonction preg_replace() effectue une recherche et un remplacement d'expression régulière
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('文件获取失败!'); } //取出成功,将字符串改成小写 $string = strtolower($str); $word = preg_replace('/[1,2,3]\r\n|\r\n/i','',$words); //字符串中出现文本敏感词,用特殊符号替换 $match = preg_replace('/'.$word.'/i','***',$string); return $match; } //定义包含敏感词的字符串 $content = '<a href="#">肮脏fsdf污秽d 骂人</a>' //判断是否替换成功 if($result = Replace($content, './words.txt')) { echo $result; echo '替换成功!'; }else { echo '替换失败!'; } ?>
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!