2017-05-28 26 views
1

我不確定以前是否有這個問題。當沒有空間時,操作員用雙引號執行

我有舊的PHP代碼來從數據庫中獲取一些結果。我最近注意到這並不按預期工作。當我調試代碼時,我發現了這個問題,但是,我仍然不知道它背後的原因。

比方說,我有一個這樣的代碼如下,

$text1 = "A"; 
echo "BBB<$text1"; // print BBB 
echo "<br/><br/>"; 
echo "BBB < $text1"; // print BBB < A 

我敢肯定,我錯過了一些PHP的基本概念。但我仍然無法找到它。

當我在空格和無空格的雙引號內使用<時,我得到兩個不同的結果。任何人都可以解釋我是如何發生的?

+0

相同的輸出https://3v4l.org/plKlE – hassan

+0

是,不同的網絡編輯給出不同的結果也是如此。請嘗試http://phpfiddle.org/,它會給出相同的結果,因爲我顯示 –

+0

不,它在那裏,但瀏覽器將它解析爲html標籤 – hassan

回答

2

正確顯示的第一個字符串,你要用htmlentities()函數:

$text1 = "A"; 
echo htmlentities("BBB<$text1"); // print BBB<A 
echo "<br/><br/>"; 
echo "BBB < $text1"; 


// BBB<A</br> is interpretted as a html tag