php - 在 PHP 中将 ' 转换为撇号

标签 php html special-characters decode

我的数据中有许多 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/

相关文章:

javascript - Canvas lineTo 中的 lineWidth 变化更平滑

javascript - 将图像标记的 src 属性中的变量值设置为 javascript/ajax 中的 base64 编码图像

php - 来自xml的php utf-8解码返回问号

php - WooCommerce Checkout url hook - 根据产品类别更改条件

php - 通过 ajax 到 PHP 的多维数组

javascript - 在文本框内单击时更改文本框的边框颜色

ios - iTunes Connect:带有特殊字符的公司名称

java - 在 Google App Engine 中保留特殊字符

php - 将 Unix 时间戳转换为小时

Java 与 PHP 速度比较