php清除html中超链接/JS脚本/回车
在php中要过滤一些特殊字符或非法字符我们可以有很多的办法,像正则表达式str_replace就是一个不错的办法,像回车,空格,换行都可以用它来解决。
近负责的一个系统模块终于可以说是接近尾声了,余下的工作就是配合测试们测试和修改了。
趁着这个相对比较闲的时间里,偷偷写几篇博文记录下这个时间段遇到的问题和我的解决方案(还是说解决方法吧)。
好了,废话不多说,进入正题。
有这种需求的一般都是去小偷程序那些,像去掉原页面的链接什么的。不过,我遇到的是要导出制定页面到word,安全起见需要去掉js代码块。
先上代码
代码如下 |
复制代码 |
$searchRegex = array(
'/<as*.*?s*>(s*.*?s*)</a>/i', // 超链接
'/<scripts*.*?s*>[sS]*?</script>/i', // JS脚本代码
);
$replaceStr = array(
'$1',
''
);
$content = preg_replace($searchRegex, $replaceStr, $content);
|
php的话这个就比较简单了,就是使用了preg_replace这个函数啦,不多说。。。需要注意的是两个正则吧,这个才是关键。
代码如下 |
复制代码 |
$regexForLink = '/<as*.*?s*>(s*.*?s*)</a>/i'; // 超链接
$regexForJS = '/<scripts*.*?s*>[sS]*?</script>/i'; // JS脚本代码
|
如果要过滤HTML代码、空格、回车换行符
代码如下 |
复制代码 |
function DeleteHtml($str)
{
$str = trim($str);
$str = strip_tags($str,"");
$str = ereg_replace("t","",$str);
$str = ereg_replace("rn","",$str);
$str = ereg_replace("r","",$str);
$str = ereg_replace("n","",$str);
$str = ereg_replace(" "," ",$str);
return trim($str);
}
|
过滤html中所有html标签可以使用strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。
strip_tags(string,allow)
好了,就这么多,希望下一次有帮助吧。
/php/35277.htmlwww.phpzy.comtrue/php/35277.htmlTechArticlephp清除html中超链接/JS脚本/回车 在php中要过滤一些特殊字符或非法字符我们可以有很多的办法,像正则表达式str_replace就是一个不错的办法,像回车,空格,换行都可以用它来解决。 近...
PHP之友评论