我有一個下面的代碼:爲什麼substr()不返回正確的值?
$string = "aaa<test>xxx</test>bbb";
echo substr($string, 9);
結果應該是: XXX < /測試> BBB
在此期間,我收到剛: xxxbbb
什麼標籤發生了什麼?爲什麼這個功能會自動裁剪它! 如果我用[作品...替換< ...我想只在我的變量中獲得結束標記。
我有一個下面的代碼:爲什麼substr()不返回正確的值?
$string = "aaa<test>xxx</test>bbb";
echo substr($string, 9);
結果應該是: XXX < /測試> BBB
在此期間,我收到剛: xxxbbb
什麼標籤發生了什麼?爲什麼這個功能會自動裁剪它! 如果我用[作品...替換< ...我想只在我的變量中獲得結束標記。
如果你在命令行中執行它,它工作正常。你正在通過瀏覽器查看你的輸出嗎?瀏覽器可能試圖解析標籤,然後忽略它。
哦,是啊!真傻。通過修剪標籤的螢火蟲建議,但在真正的源代碼中顯示標籤。謝謝! – gregiolo
如果你看看源代碼,你也會有</test>
標籤。它在瀏覽器中不可見,因爲它已經被渲染爲沒有任何東西。
提供打印此樣的結果,使用
var_dump(substr($string, 9));
它,因爲瀏覽器採取<test></test>
爲HTML標籤,所以你不能看到它在瀏覽器中。
查看源代碼可以幫到你。
如果您在瀏覽器中的PHP文件的查看源代碼(CRTL +鍍鉻U),你可以看到
xxx</test>bbb
另外您也可以看到它,因爲</test>
是由瀏覽器解釋爲一個標籤。
我認爲你正在瀏覽器輸出中查看源代碼。 –
換句話說,從您的瀏覽器「查看源代碼」...我敢打賭,你實際上看到「xxx bb」:) – paulsm4
可能重複的[輸出html標籤](http://stackoverflow.com/questions/ 8630675/output-html-tags) – Sjoerd