我有一些包含大量斯堪的纳维亚字符(å、ä、ö、æ、ø 等)的 HTML 数据(我无法控制,只能读取)。这些“特殊”字符存储为 HTML 字符数字 (æ = æ
)。我需要将这些转换为 PHP 中相应的实际字符(或 JavaScript,但我想 PHP 在这里更好......)。似乎 html_entity_decode()
只处理“其他”类型的实体,其中 æ = aelig;
。到目前为止我想出的唯一解决方案是制作一个转换表并将每个字符编号映射到一个真实字符,但这并不是真的 super 聪明......
那么,有什么想法吗? ;)
干杯, 克里斯托弗
最佳答案
&#NUMBER;
引用该字符的 unicode 值。
所以你可以使用一些正则表达式,比如:
/&#(\d+);/g
要获取数字,我不懂 PHP,但我相信您可以通过谷歌搜索如何将数字转换为其 unicode 等效字符。
然后只需用字符替换您的正则表达式匹配即可。
编辑:实际上看起来你可以使用这个:
mb_convert_encoding('æ', 'UTF-8', 'HTML-ENTITIES');
关于php - 如何将 HTML 字符 NUMBERS 转换为 PHP 中的纯字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3669006/