2011-07-25 83 views
0

所以我有以下代碼:PHP不能打印我的字符串正確

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

,但是當它相呼應,它只是呼應這樣的:#().*?()#

甚至沒有「腳本」正在呼應.. ...並注意到小於等號等不存在...

我做錯了什麼?

+0

我不那麼肯定。 http://codepad.org/vCUmQoA2 –

+0

看看這一個:http://writecodeonline.com/php/ –

+0

是啊在這裏工作很好 – Warface

回答

4

查看源看明白爲什麼。 它將probbably是:

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

每個瀏覽器將顯示爲

#()*()#

由於它隱藏在分析視圖的任何XML標記? ,即隱藏了<script.*?></script> ,可以看出,雖然在未解析版本中 - >查看源

+0

或者在Firebug中,右鍵單擊可疑文本,選擇「檢查元素」並查看腳本標籤。 –

2

如果您打印到HTML或Web瀏覽器,它將忽略它不理解或通常不會顯示的標記,如<script>。例如,請參閱this jsfiddle

1

這是因爲它打印

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

它是無形的瀏覽器,但看在源代碼中,應該還有:d

+0

不完全。 ''。 –