PHP无法正确打印我的字符串

时间:2011-07-25 02:17:34

标签: php string printing echo

所以我有以下代码:

$tag = 'script';
$r = '#(<'.$tag.'.*?>).*?(</'.$tag.'>)#';
echo $r;

然后当它回响时,它只是回应:#().*?()#

甚至没有'脚本'被回应.....并注意到不到等号,等不存在......

我做错了什么?

3 个答案:

答案 0 :(得分:4)

执行查看来源以了解原因。 它可能是:

#(<script.*?>).*?(</script>)#';

每个浏览器将显示为

  

#()。*?()#

因为它隐藏了解析视图中的任何XML标记,即隐藏了<script.*?></script> 但是,在未解析的版本中可以看到 - &gt; 查看源

答案 1 :(得分:2)

如果您要打印到HTML或网络浏览器,它将忽略它不理解或不会正常显示的标签,例如<script>。例如,请参阅this jsfiddle

答案 2 :(得分:1)

这是因为它打印

#(<script.*?>).*?(</script>)

它对浏览器是不可见的,但在源代码中查看,它应该在那里:D