htmlspecialchars($string, ENT_NOQUOTES);
...大约是 2.5 倍 比:
str_replace(array('&', '<', '>'), array('&', '<', '>'), $string);
htmlspecialchars
是否做了一些 str_replace
线没有做的事情?附言我使用
microtime
在 PHP 5.4 中测量了速度。 最佳答案
str_replace()
将字符串视为 ASCII C 字符串。 htmlspecialchars()
没有。 (如果没记错的话,在 php 5.4 中默认是 UTF8 字符串。)
此外,在 htmlspecialchars()
中有代码以避免双重编码等。它做了更多的事情。
关于php - 为什么 "htmlspecialchars"这么慢?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16384515/