1
因为我不想使用php的stip_tags功能而不是我想将<script> and </script>
替换为空字符串,所以输出应该是alert(1)。使用php删除特定的html标签
输入: -
<script>alert(1)</script>
输出: - 警报(1)
如何实现它。
因为我不想使用php的stip_tags功能而不是我想将<script> and </script>
替换为空字符串,所以输出应该是alert(1)。使用php删除特定的html标签
输入: -
<script>alert(1)</script>
输出: - 警报(1)
如何实现它。
您总是可以使用strip_tags()
,第二个参数包含允许的标签。
Alternativly,使用...
preg_replace('/<script>(.*)</script>/i', '$1', $input);
注意,未经测试。
我只是想取代
要么使用一个简单的替换:
或正则表达式:
来源
2011-09-30 12:44:19 klaustopher
就说明你不希望在第二个PARAM
来源
2011-09-30 12:45:10
不解决问题。将删除标签内的节点。该示例显示剥离标签,但不显示内容。 – Samvel
-1根本没有解决问题。首先,OP说'我不想使用stip_tags“。其次,如果这是剥离整个HTML文件的标签呢?期望所有可能的html标签存在的全面清单是完全不合理的。 – Birrel
我猜你删除的那些想要捍卫XSS攻击,你不应该仅仅为担心
script
标签,有人可能会这样利用它:<a href="http://anywhere.com" onClick="alert(1);">test</a>
(这是一个非常尽管)。如果你只想要
script
标签,没有属性,要过滤:你应该使用正则表达式改善这一点;使用preg_match'es和preg_replaces(或只有preg_replaces),您可以匹配和/或替换脚本标记及其属性。甚至有更多的保护措施抵制XSS。
编辑:或者甚至像
/<script>(.+)<\/script>/
这样的正则表达式,然后将括号中的内容存储到变量中,然后将其打印出来。来源
2011-09-30 13:11:50 Mido
不是真的这样工作!使用正则表达式! – B4NZ41
试试这个同志..
结果
来源
2014-01-13 23:43:27 B4NZ41
简单的方法是使用StripTags。
转到StripTags github并通过作曲家下载或安装。 这个类有一个方法叫
only
,为你做到这一点!来源
2016-09-24 10:01:44