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

时间:2016-01-26 10:07:10

标签: php string html-entities string-conversion character-entities

我有希腊网站,其中的所有帖子都看起来像是:

<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>

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

ΟΜπόνουςΓύροςBrunkenClamθαδείτεθαείναισεθέσηνακερδίζειόσο1000ΧτυυσυνολικούστοιχήματοςεπιλέγονταςείτεCleveland,Peter,Quagmire,και

我需要将html实体更改为实际符号(我使用的是UTF-8编码。) 似乎html_entity_decode()不会这样做。这里有任何库或somenthing这样我可以将文本转换为实际符号。

PHP版本PHP 5.3.29

谢谢!

Upadate:抱歉,这是我可耻的错误。在调试我的问题时,我搞砸了mb_internal_encoding()和'default_charset'ini指令。所以我只需要将html_entity_decode的编码设置为第三个参数:

   $decoded = html_entity_decode($str, ENT_COMPAT | ENT_HTML401, "UTF-8");
正如夏洛特杜诺瓦写道的那样。 所以我认为她的答案是正确的。

1 个答案:

答案 0 :(得分:2)

如果您的数据是html编码的(例如使用PHP的函数<% foreach (var site in Sites) { %> <!-- loop through the list --> <div> <%= site %> <!-- write out the name of the site --> </div> <% } %> <!--End the for loop --> ),您可以使用htmlentities对其进行解码。如果php.ini中的set charset不同,则可能需要设置charset参数。

https://3v4l.org/Lmt38