gpt4 book ai didi

php - 使用 HTML-ENTITIES 字符集替代 mb_convert_encoding

转载 作者:可可西里 更新时间:2023-10-31 22:41:14 24 4
gpt4 key购买 nike

我有以下代码:

mb_convert_encoding($string, 'HTML-ENTITIES', 'utf-8');

我需要一个替代代码,它的功能完全相同,但不使用任何 mb_* 函数(mb 扩展名在某些环境中不可用)。

我以为

utf8_decode(htmlentities($string, ENT_COMPAT, 'utf-8'));

应该做的完全一样,但不幸的是它没有。

最佳答案

我玩了一下,发现这很有趣。似乎第二部分也运行“htmlspecialchars”。一定是 mb_convert_encoding 中的一些错误,因为 htmlentities 没有正确运行。

如果对结果运行 htmlspecialchars_decode,得到的结果与使用 mb_convert_encoding 的结果完全相同。

代码:

$string = 'Test:!"$%&/()=ÖÄÜöäü<<';
echo mb_convert_encoding($string, 'HTML-ENTITIES', 'utf-8')."\n\n";
echo htmlspecialchars_decode(utf8_decode(htmlentities($string, ENT_COMPAT, 'utf-8', false)));

这里是上面代码的演示: http://sandbox.onlinephpfunctions.com/code/715acade3b8337d9c9e48e58deee2a237015c259

这里是一个没有 htmlspecialchars_decode 的演示,以显示您的问题: http://sandbox.onlinephpfunctions.com/code/5c4a32bf99aa8fd6246c4a77132a023d32945363

关于php - 使用 HTML-ENTITIES 字符集替代 mb_convert_encoding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com