문자열에 우리가 정의한 단어가 포함되어 있는지 확인하는 세 가지 방법을 제공합니다. 이는 메시지, 댓글 및 기타 주소의 키워드 필터링에 더 적합합니다.
$crud = array ( '중국|||우리나라|||지구', 'kelon|||lerke|||sb', 'sesscxx')
$crud = Join('|',$crud)
$crud = str_replace('|||', '|', $crud)
$pat = "/({$crud})/i"; >$txt = '나는 당신이 중국에서 sdfex로서 누구인지 알고 있습니다! ! ';
preg_match/*_all*/($pat, $txt, $matches);
var_dump($matches);
코드는 다음과 같습니다. 다음:
function checkcrud($str, $crud)
{
if(is_array($crud) && !emptyempty($crud))
{
foreach($crud as $value)
{
if(strpos($value, '|||') !== false)
{
$cruds = 폭발('|||', $value)
$num = count($cruds); $check = 0 ;
foreach($cruds as $val)
{
if(strpos($str, $val) !== false)
If($check == $num) } } If(strpos($str, $value) != = false) } } false 반환 } } $crud = 배열 ('중국|||우리나라|||지구', 'kelon|||lerke|||ssxb', 'aaa') $test1 = '저는 중국인이 많아요. 내 나라는 사람으로 가득하다.-__-!! 정말 좋은 문장이다.' var_dump (checkcrud($test1, $crud)); 🎜>방법 3, 코드는 다음과 같습니다.function lktest($v,$keyword){ foreach ($v as $k){ if ( strpos($k,"|||")!==false){ $kelon=explode("|||",$k) //최대값 찾기 배열 $b=count($kelon)
foreach($kelon as $t){
//echo $t.'
'
if (preg_match('/'.$t.'/ i',$keyword)){
//echo "민감한 키워드"
$a=$a+1 > else{
$a='' ;
}
그러면 모든 ||| 키워드가 나타납니다.
if ($a==$b){
echo "민감한 키워드";
}
}
elseif(preg_match('/'.$k.'/i',$keyword)){
echo "sensitive 키워드";//오픈 소스 코드 phpfensi .com
}
}
}