PHP函數積累過程

需求:如果我們要在文本中要過濾掉一些過敏詞彙,那我們可以使用PHP中的正則表達式preg_match()函數來實現過濾敏感詞.

首先了解下preg_match()函數:

描述:preg_match()函數用來在字符串搜索所有與給出的正則表達式匹配的內容,如果存在則返回true,否則返回true.

語法:int preg_match( string pattern,string subject [,array matches [, int flags]])

preg_match()函數的參數說明:

pattern   必要參數.需要匹配的正則表達式

subject  必要參數.輸入的字符串

matches 可選參數.輸出的搜索結果的數組.

flags  可選參數.標記:PREG_OFFSET_CAPTURE,對每個出現的匹配結果也同時返回其附屬的字符串偏移量.本標記自PHP 4.3.0可用.

例一: 我們需要過濾敏感詞"暴力".

<?php
if(preg_match("/暴力/","我想看暴力電影,我要看革命電影,我要看屌絲電影",$matches))
{
print "查到過敏詞彙:".$matches[0];
}
else
{
print "字符串中沒有過敏詞彙.";
 }
?>

輸出結果:     查到過敏詞彙:暴力

例二:如果文本有"暴力,革命,屌絲"詞彙,我們需要過濾.

<?php
$words = array('暴力','革命','屌絲');  //把過敏詞放入數組
for($i=0;$i<count($words);$i++){    //應用for循環語句對敏感詞進行判斷
if(preg_match("/".trim($words[$i]."/"),"我要看革命電影,我要看屌絲電影",$matches))
{
print "查到過敏詞彙:".$matches[0]."<br>";
}
}
?>

輸出結果:

查到過敏詞彙:革命
查到過敏詞彙:屌絲


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章