2016-08-18 3 views
-5

ここで私はPHPで経験している完全に奇妙な動作です:htmlentitiesは呼び出されたときに動作しないようです。このように、私が行うとき:htmlentitiesは2回呼び出されたときにのみブラウザで動作します

echo htmlentities("<iframe>"); 

ブラウザが文字列引数のエスケープされていない、すなわち<iframe>を出力します。私は二度関数を呼び出すとき

しかし、それは動作します:私を与える

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

<iframe>は、私は、ユーザーが同じ混乱を表明奇妙な行動from this answerに気づきました。

私は、この「使用する答え」を使用する際に2つの問題があります。まず、これは奇妙な動作であることがわかります。この奇妙なことが複製されるという保証はありません別のサーバーにエクスポートされます。第二に、なぜこの行動が最初ですか?

だから私の問題:私はこの行動の起源とそれについて何をするのが大好きです。

私は自分のlocalhostで作業しているので、多くの人が自分の問題を確認できず、htmlentitiesは他のサーバで正常に動作します。

+1

これはPHP 7だけではなく、私は5.6.23と同じ結果を得ています。これはさらに前に戻る必要があります。 –

+3

ソースを見ると、正しい結果が得られます。 – PHPglue

+1

"ブラウザはエスケープされていない文字列引数、つまり