如何将 html 希腊语实体转换为 php 中的实际符号

How to convert html entities of greek language to actual symbols in php

我有希腊语网站,其中的所有帖子在源代码中看起来像:

<p>&Omicron; &Mu;&pi;&#972;&nu;&omicron;&upsilon;&sigmaf; &Gamma;&#973;&rho;&omicron;&sigmaf; Drunken Clam &theta;&alpha; &delta;&epsilon;&#943;&tau;&epsilon; &theta;&alpha; &epsilon;&#943;&nu;&alpha;&iota; &sigma;&epsilon; &theta;&#941;&sigma;&eta; &nu;&alpha; &kappa;&epsilon;&rho;&delta;&#943;&zeta;&epsilon;&iota; &#972;&sigma;&omicron; 1000&Chi; &tau;&omicron;&upsilon; &sigma;&upsilon;&nu;&omicron;&lambda;&iota;&kappa;&omicron;&#973; &sigma;&tau;&omicron;&iota;&chi;&#942;&mu;&alpha;&tau;&omicron;&sigmaf; &epsilon;&pi;&iota;&lambda;&#941;&gamma;&omicron;&nu;&tau;&alpha;&sigmaf; &epsilon;&#943;&tau;&epsilon; Cleveland, Peter, Quagmire, &kappa;&alpha;&iota;</p>

实际上它在页面上看起来像这样:

烘烤蛤untermouth Nqundαδείτεθαείνα已

我需要将 html 实体更改为实际符号(我使用的是 UTF-8 编码。) 似乎 html_entity_decode() 不会这样做。这里有没有图书馆或类似的东西让我能够将文本转换为实际的符号。

PHP版本PHP5.3.29

谢谢!

更新:对不起,这是我可耻的错误。在调试我的问题时,我弄乱了 mb_internal_encoding() 和 'default_charset' ini 指令。所以我只需要将 html_entity_decode 的编码设置为第三个参数:

   $decoded = html_entity_decode($str, ENT_COMPAT | ENT_HTML401, "UTF-8");

正如夏洛特杜诺瓦所写。 所以我把她的答案设为正确。

如果您的数据是 html 编码的(例如使用 PHP 的函数 htmlentities),您可以使用 html_entity_decode 将其解码回来。如果您在 php.ini 中设置的字符集不同,您可能需要设置字符集参数。

https://3v4l.org/Lmt38