我的网站上的用户在WYSIWYG中发布内容,因此他们也可以添加有害的java脚本和样式表。所以只是为了检测我的内容中的java脚本标记我写了这个正则表达式 - >
$regex = "/\<script(.*?)?\>(.|\\n)*?\<\/script\>/i";
preg_match_all($regex, $html, $scripts);
print_r($scripts);
regex这样print_r($ scripts)会给我:
array(
[0] => <script src="http://example.com"></script>
[1] => <script>// inline js$(document).ready( function() {});</script>
)
如何使用样式表标记执行相同操作并删除javascript标记和样式表标记。上面的代码只检测javascript如何删除此标记
答案 0 :(得分:1)
要删除代码,您可以使用preg_replace
作为
preg_replace("/<.*script.*>(.|\\n)*<\/script>/", "", $input_lines);
preg_replace("/<.*stylesheet.*>(.|\\n)*<\/stylesheet>/", "", $input_lines);
无需转义<
和>
,您可以使用.*
代替(.*?)?
。另外,我使用greedy
代替(.|\\n)*
(.|\\n)*?
答案 1 :(得分:0)
你试过这个吗?
$ storeHere = strip_tags(whatever_you_want_to_strip_tags_from);