머리말: PHP에서는 문자열의 조작을 마스터해야 합니다. 따라서 문자열에서 민감한 단어를 대체하거나 차단하는 방법에 대한 문제를 다루겠습니다. 기사는 참고용입니다. 감사합니다!
예:
1단계: 문자열에서 민감한 단어 검색
int substr_count(string haystack,string needle)
substr_count() 함수는 하위 문자열이 나타나는 횟수를 검색합니다. 매개변수 haystack은 지정된 문자열이고 지정된 문자에 대한 매개변수 바늘입니다.
//定义敏感词数组 $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; }
2단계: preg_replace() 함수를 사용하여 민감한 단어 바꾸기
preg_replace() 함수는 정규식 검색 및 바꾸기를 수행합니다
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 '替换失败!'; } ?>
위 내용은 PHP는 특수 문자의 대체 작업을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!