htmlspecialchars($string, ENT_NOQUOTES);
...より約2.5倍遅い:
str_replace(array('&', '<', '>'), array('&', '<', '>'), $string);
htmlspecialchars
ラインがしないことをしますかstr_replace
?
ps を使用して、PHP 5.4 で速度を測定しmicrotime
ました。
htmlspecialchars($string, ENT_NOQUOTES);
...より約2.5倍遅い:
str_replace(array('&', '<', '>'), array('&', '<', '>'), $string);
htmlspecialchars
ラインがしないことをしますかstr_replace
?
ps を使用して、PHP 5.4 で速度を測定しmicrotime
ました。
str_replace()
文字列を ASCII C 文字列として扱います。htmlspecialchars()
ではない。(メモリが機能する場合、php 5.4 ではデフォルトで UTF8 文字列です。)
また、htmlspecialchars()
二重エンコーディングなどを避けるためのコードもあります。それはより多くのことを行います。
ドキュメントを参照してください。
遅い理由は、より多くのことを行うためです。さまざまな引用符、エンコーディング、および二重エンコーディングを処理します。
エンコーディングの操作は非常に遅くなる可能性があります。コンピューターは非常に高速であるため、それほど重要ではありませんが、単純な検索と置換 (基本的にはすべてstr_replace
そうです) と比較すると遅くなります。