HTMLエンコードされた方法で出力しようとしている文字列があり、htmlentities()
関数は常に空の文字列を返します。
なぜそうするのか、私は正確に知っています。私は PHP 5.4 を実行していません。最新の PHP 5.3 フレーバーをインストールしました。
問題は、無効なコード ユニット シーケンスを含む文字列をどのように htmlencode できるかということです。
マニュアルによると、ENT_SUBSTITUTE
行く方法です。しかし、この定数は PHP 5.3.X では定義されていません。
これは私がしました:
if (!defined('ENT_SUBSTITUTE')) {
define('ENT_SUBSTITUTE', 8);
}
まだ運がない。htmlentities
まだ空の文字列を返しています。
代わりに試してみたかったENT_DISALLOWED
のですが、対応する長い値が見つかりません。
だから私の質問は二つ折りです
PHP 5.4 の定数値は何
ENT_DISALLOWED
ですか?UTF-8 以外の文字 (スマート クォートなど) を含む文字列をクリアできるようにするにはどうすればよいですか? - スマート クォートだけでなく、
htmlentities()
空白文字列を返す原因となるもの。