2016-08-18 57 views
-5

現在,我使用PHP時遇到了一個奇怪的行爲:htmlentities在調用時似乎不起作用;因此,當我做的:只有當被調用兩次時,htmlentities才能在瀏覽器上工作

echo htmlentities("<iframe>"); 

瀏覽器輸出字符串參數轉義狀態,即<iframe>

然而,當我調用該函數的兩倍,它的工作原理:

echo htmlentities(htmlentities("<iframe>")); 

給我:<iframe>

我注意到怪異的行爲from this answer當用戶表達了同樣的困惑。

現在我有兩個問題使用這個「答案有效」:首先,我知道這是一個奇怪的行爲,並不能保證這種奇怪將被複制(我希望它不是!)當我的代碼導出到另一臺服務器。其次,爲什麼這種行爲在第一位?

所以我的問題:我很想知道這種行爲的起源以及如何處理它。

這是一個恥辱很多你將無法驗證我的問題,因爲我在我的本地主機上工作,並且htmlentities在其他服務器上正常工作。

+1

這不僅僅適用於PHP 7,我在5.6.23上得到了和你一樣的結果,所以這個結果必須更進一步。 –

+3

查看源代碼,你會看到你正在得到正確的結果。 – PHPglue

+1

「瀏覽器輸出未轉義的字符串參數,即