是否有正则表达式可以匹配以下任何一种?
'<'+'script>'
'<s'+'cript>'
'<script'+'>'
'</'+'script>'
'</scr' + 'ipt>'
'<script></scrip'+'t>'
'<script type=text/javascript src="http://..."></scrip'+'t>'
我需要这样做,因为如果HTML中包含这些字符串,HTML Tidy会产生错误。我想使用preg_replace()
删除它们。
答案 0 :(得分:0)
以下的正则表达式令人憎恶,但它与你的内容相符:
'</?(?:'\+')?(?=s).+(?=c).(?=r).+(?=i).+(?=p).+(?=t).+>'
它也会匹配你不想要的各种标签,我把它留给你:
'<scdcdacacapt type=text/javascript src="http://..."></cdscdcss'+'t>'
这是因为type属性中的javascript
字符串,因此如果您在任何标记中都有单词javascript
,那么它将匹配:(
希望这是你的起点
答案 1 :(得分:-1)
使用'\x3cscript\x3e'
代替'<script>'
。