解码php中的HTML实体

时间:2015-12-03 12:54:36

标签: php entity decode

我有这个字符串:

<p>ëen twéé drïe viêr vijf zes ç   nnneeeeeeggeeeeennn<br></p>

在此字符串经过多个应用程序后,我最终得到以下字符串:

   <p>&Atilde;&laquo;en tw&Atilde;&copy;&Atilde;&copy; dr&Atilde;&macr;e 
   vi&Atilde;&ordf;r vijf zes &Atilde;&sect; &nbsp; nnneeeeeeggeeeeennn<br></p>

如何将此编码的字符串解码回原始字符串?

我试过了:

  1. htmlspecialchars_decode(字符串)

    返回:

    Ãenentwéédrïeviè-vijfzesçnnneeeeeeggeeeeennn

  2. htmlspecialchars_decode(htmlspecialchars_decode(字符串));

    返回:

    Ãenentwéédrïeviè-vijfzesçnnneeeeeeggeeeeennn

  3. 如何解码此字符串?

    PS。我不知道如何在标题中描述这个问题,所以随意编辑我的标题

2 个答案:

答案 0 :(得分:2)

改为使用html_entity_decode($string)

<?php
$str="&Atilde;&laquo;en tw&Atilde;&copy;&Atilde;&copy; dr&Atilde;&macr;evi&Atilde;&ordf;r vijf zes &Atilde;&sect; &nbsp; nnneeeeeeggeeeeennn";
echo html_entity_decode($str);
?>

答案 1 :(得分:1)

感谢您提供的答案,我解决了问题:

我首先用以下字符解码字符串:

 html_entity_decode($str),  // thanks Blessed Nerd!

然后我用:

解码字符串
utf8_decode(); 


$str="ëen twéé drïeviêr vijf zes ç   nnneeeeeeggeeeeennn";
$string2 = html_entity_decode($str);
echo utf8_decode($string2);

输出:

ëendéédrïeviêrvijfzesçnnneeeeeeggeeeeennn