如何将重音字符转换为PHP中的html?

时间:2013-07-12 22:21:22

标签: php html

我在utf8中存储了外语字符串。在显示它们时,我希望它们能够以这样的方式进行转换:重音字符成为它们的html对应物,例如é变为é

然而,我说的是我的搜索,我所能找到的只是htmlentities()而没有这样做。

2 个答案:

答案 0 :(得分:10)

我发现这是解决这个问题的一个非常简单的方法。

第一部分尝试对文本进行编码。如果$ output返回一个空字符串,则该值为utf8编码,然后创建html实体。

$output = htmlentities($value, 0, "UTF-8");
if ($output == "") {
    $output = htmlentities(utf8_encode($value), 0, "UTF-8");
}

示例:

Montréal

输出:

Montréal

答案 1 :(得分:8)

确保在致电htmlentities()时正确指定编码。

文档显示它默认为'UTF-8',但如果你进一步阅读,你会发现这是PHP 5.4的新功能。如果您使用的是旧版本,则默认值为'ISO-8859-1',您需要确保将其明确指定为'UTF-8',而不是依赖于默认行为。

htmlentities($string, 0, 'UTF-8');