我的数据中有许多 HTML 实体(•
...等),包括 '
。我只想将它转换成它的等效字符。
我假设 htmlspecialchars_decode() 会工作,但是 - 运气不好。想法?
我试过了:
echo htmlspecialchars_decode('They're here.');
但它返回:他们在这里。
编辑:
我也尝试过 html_entity_decode(),但它似乎不起作用:
echo html_entity_decode('They're here.')
还返回:他们在这里。
最佳答案
由于 '
不是 HTML 4.01 的一部分,因此默认情况下它不会转换为 '
。
在 PHP 5.4.0 中,extra flags were introduced处理不同的语言,每种语言都将 '
作为一个实体。
这意味着你可以这样做:
echo html_entity_decode('They're here.', ENT_QUOTES | ENT_HTML5);
您将需要 ENT_QUOTES
(转换单引号和双引号)和 ENT_HTML5
(或 ENT_HTML401
以外的任何语言标志,因此选择最适合您的情况)。
在 PHP 5.4.0 之前,您需要使用 str_replace :
echo str_replace(''', "'", 'They're here.');
关于php - 在 PHP 中将 ' 转换为撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6791298/