如何在PHP中将HTML字符NUMBERS转换为普通字符?

cpa*_*pak 3 html php html-entities

我有一些HTML数据(其上我管不着,只能读取它),它包含了大量的斯堪的纳维亚字符(A,A,ö,æ,O等).这些"特殊"字符存储为HTML字符编号(æ= æ).我需要将这些转换为PHP中的相应实际字符(或JavaScript,但我想PHP在这里更好......).似乎html_entity_decode()只处理"其他"类型的实体,其中æ= &#aelig;.我想出了迄今唯一的解决办法是让一个转换表和每个字符数映射到一个真实的人物,但是这并不是真正的超级智能......所以,任何想法?;)

干杯,Christofer

And*_*ock 5

&#NUMBER;
Run Code Online (Sandbox Code Playgroud)

指的是该char的unicode值.

所以你可以使用一些正则表达式:

/&#(\d+);/g
Run Code Online (Sandbox Code Playgroud)

抓住数字,我不知道PHP,但我相信你可以谷歌如何将数字转换为其unicode等效字符.

然后简单地用char替换你的正则表达式匹配.

编辑:实际上看起来你可以使用这个:

mb_convert_encoding('æ', 'UTF-8', 'HTML-ENTITIES');
Run Code Online (Sandbox Code Playgroud)