php - 如何将 HTML 字符 NUMBERS 转换为 PHP 中的纯字符?

标签 php html html-entities

我有一些包含大量斯堪的纳维亚字符(å、ä、ö、æ、ø 等)的 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/

相关文章:

html - 如何在 d3 中使用 css 设置 if-else 语句的样式

html-entities - 如何不使用 owasp antisamy 将特殊字符转换为 html 实体

HTML 和字符编码与 HTML 实体

php - 从 MySQL 中删除用户不起作用

php - Laravel 5.3 失败时自动连接到另一个数据库

html - IE 的样式问题

php - 更改 mysql 中的 htmlentities

php - 如何跟踪代理背后的真实 IP 地址

javascript - 根据用户所在的页面更改 div 中的文本

html - 不先点击就无法形成元素