所以我有以下代码:
$tag = 'script';
$r = '#(<'.$tag.'.*?>).*?(</'.$tag.'>)#';
echo $r;
然后当它回响时,它只是回应:#().*?()#
甚至没有'脚本'被回应.....并注意到不到等号,等不存在......
我做错了什么?
答案 0 :(得分:4)
执行查看来源以了解原因。 它可能是:
#(<script.*?>).*?(</script>)#';
每个浏览器将显示为
#()。*?()#
因为它隐藏了解析视图中的任何XML标记,即隐藏了<script.*?>
和</script>
但是,在未解析的版本中可以看到 - &gt; 查看源
答案 1 :(得分:2)
如果您要打印到HTML或网络浏览器,它将忽略它不理解或不会正常显示的标签,例如<script>
。例如,请参阅this jsfiddle。
答案 2 :(得分:1)
这是因为它打印
#(<script.*?>).*?(</script>)
它对浏览器是不可见的,但在源代码中查看,它应该在那里:D