PHP文字过滤函数

风清扬斈 14年前 (2007-02-05) 信息科技 6232 0


呵呵,非常简单的一个文字过滤的函数

<?php
function words_filter($string)
{
    $obscenities = array("fuck","sex");   //使用数组保存需要过滤的词语
   //$obscenities = file ("/path/fuck_word.txt");  //使用文件保存需要过滤的词语
    foreach ($obscenities as $fuck_word)
    {    
        if (stristr(trim($string),$fuck_word))
        {
            $length = strlen($fuck_word);
            for ($i = 1; $i <= $length; $i++)
            {
            $stars .= "*";
            }
        $string = eregi_replace($fuck_word,$stars,trim($string));
        $stars = ’’;
        }
    }
    return $string;
}


?>


//下面是以个调用的例子
<?php
    $string = "fuck and sex not allow to print.";
    print words_filter($string);
?>

整理几个有用的php字符串过滤,转换函数 

nl2br();//   to <br/>
addslashes(); stripslashes();//对数据库操作时,转义特殊字符 

chop();//除去字符串右边空格
trim();//除去字符串中所有空格
ltrim();//除去字符串左边空格 

htmlspecialchars();//转换’$’,’"’,’<’,’>’为相应的html实体
htmlentities();//转换所有html标记为相应的html实体 

array explode(string separator, string str);//分割字符串
string implode(string separator, array arr);//连接字符串
 
strtoupper(); strtolower();//转换大小写
ucfirst();//只转换第一个字符为大写 
ucwords();//转换每个words的第一个字母为大写

--------

function safe_convert($string, $html=0) { //Words Filter 
  if ($html==0) { 
    $string=htmlspecialchars($string, ENT_QUOTES); 
    $string=str_replace("<","&lt;",$string); 
    $string=str_replace(">","&gt;",$string); 
    $string=str_replace("", ’&#92;’, $string); 
  } else { 
    $string=addslashes($string); 
    $string=str_replace("\", ’&#92;’, $string); 
  } 
  $string=str_replace(" ","<br/>",$string); 
  $string=str_replace(" ",",$string); 
  $string=str_replace(" ","&nbsp;&nbsp;",$string); 
  $string=str_replace(" "," &nbsp;",$string); 
  $string=str_replace(’|’, ’&#124;’, $string); 
  $string=str_replace("&amp;#96;","&#96;",$string); 
  $string=str_replace("&amp;#92;","&#92;",$string); 
  return $string; 

  $string=str_replace("&amp;#92;","&#92;",$string); 

 

本人写的,专门检测某些不良字符的简单函数,有则返回true

<?
function chkword($mystring) //如果有非法字符,则返回TRUE
$chkit=false;
$str=(i)小电影,广告(i);
//$mystring = (i)????(i);  //字符串
$arr=explode((i),(i),$str);
foreach($arr as $key => $value){
    if(strpos($mystring, $value) !== false){
        //echo (i)有禁用词汇,请检查。(i);
        $chkit=true;
    }
return $chkit;    
}
end function

?>

使用:

<?
$abc="这里有小电影吗?";
if (chkword($abc)==false) {
echo "可以运行";
}
else{
echo "有敏感字符";
}

 

?>

"

相关推荐

  • 网友评论

    • (*)

    最新评论

    搜索