php - 为什么 "htmlspecialchars"这么慢?

标签 php performance

htmlspecialchars($string, ENT_NOQUOTES); 

...大约比以下2.5倍慢:

str_replace(array('&', '<', '>'), array('&amp;', '&lt;', '&gt;'), $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/

相关文章:

javascript - 是否可以将数据表作为 AJAX 数据发布到服务器?

php - 如何在数据表中重音中和后在数据库中进行 jquery 搜索 - 不起作用

sql - 调整 SQL Server

java - Activity 重用逻辑

php - CloudConvert API v2 任务字段为必填项

php - cron 会执行 php 文件还是只执行 CGI 脚本?

c++ - 如何访问和管理 block 存储的数据

java - 计算多条鱼的时空复杂度?

c# - 如何使用 IEqualityComparer 加速多个字段的比较?

php - APCu 无法在网络服务器上运行