PHP 如何过滤 变量 $value1 里一些特定的字符?

已知变量 $value1 的值 是 <img src="/201007/20/08211610.jpg" />我想在 PHP 中把 <img src="/ 跟 " /> 过滤掉,最后的值 是: 201007/20/08211610.jpg该怎么设置?

function htmldecode($str)
{
if(empty($str)) return;
if($str=="") return $str;
$str=str_replace("&",chr(34),$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace("&","&",$str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("
",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("select","select",$str);
$str=str_replace("join","join",$str);
$str=str_replace("union","union",$str);
$str=str_replace("where","where",$str);
$str=str_replace("insert","insert",$str);
$str=str_replace("delete","delete",$str);
$str=str_replace("update","update",$str);
$str=str_replace("like","like",$str);
$str=str_replace("drop","drop",$str);
$str=str_replace("create","create",$str);
$str=str_replace("modify","modify",$str);
$str=str_replace("rename","rename",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$farr = array(
"/\s+/" , //过滤多余的空白
"/<(\/?)(img|script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU" , //过滤 <script 防止引入恶意内容或恶意代码,如果不需要插入flash等,还可以加入<object的过滤
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU" , //过滤javascript的on事件
);
$tarr = array(
" " ,
"<\\1\\2\\3>" , //如果要直接清除不安全的标签,这里可以留空
"\\1\\2" ,
);
$str = preg_replace ( $farr , $tarr , $str );
return $str;
} 以上是PHP过滤所有特殊字符的代码,你如果只需要过滤掉 <img src="/ 跟 " />,你可以把这2段字符串单独过滤掉,但是一定要注意,别单独过滤“/”否则把你要的部分的“/”也过滤了!
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网