PHP过滤非法字符(判断Kindereditor内容是否为空)

之前在网上找到一段PHP过滤非法字符的代码:

function safe_string($str)
{ //过滤安全字符
$str=str_replace("'","",$str);
$str=str_replace('"',"",$str);
$str=str_replace(" ","$nbsp;",$str);
$str=str_replace("\n;","
",$str);
$str=str_replace("<","<",$str);
$str=str_replace(">",">",$str);
$str=str_replace("\t"," ",$str);
$str=str_replace("\r","",$str);
$str=str_replace("/[\s\v]+/"," ",$str);
return $str;
}

后来在工作中,我使用Kindereditor的时候出现了一些问题,在编辑器中出现内容为空白的情况下,其实很多时候内容不一定为空,因为很可能还有隐藏的HTML标签存在,点击编辑器左上角的“HTML代码”就可以看到HTML标签了。那么怎么样判断是否出现这样的情况呢?

我的想法是先剥掉HTML的标签,然后去掉一空格、换行和制表符之后判断这个字符串是否为空即”。以下是判断的代码:

function safeString($str)
{ //过滤字符
 $str=strip_tags($str);    //剥掉HTML标签
 //去掉单双引号、空格、换行、制表符和 
 $str=str_replace("'","",$str);
 $str=str_replace('"',"",$str);
 $str=str_replace(" ","",$str);
 $str=str_replace("\n","",$str);
 $str=str_replace("\t"," ",$str);
 $str=str_replace("\r","",$str);
 $str=str_replace(" ","",$str);
 return $str;
}

使用以上函数过滤字符串之后,再判断字符串$str是否为空,即if($str==”),就完成这个判断了。