DOMDocument-> saveHtml()在脚本标记中转义utf8

时间:2014-11-20 20:55:37

标签: php symfony utf-8

$newContent = <<<HTML
<!DOCTYPE html>
<html lang=ru>
  <head>
    <meta charset="utf-8">
    <title>Кирилица</title>
  </head>
  <body>
  Кирилица
  <script charset="utf-8" type="text/javascript">
    function drawCharts(){
      console.log('Кирилица');
    }
  </script>
  </body>
</html>
HTML;

$crawler = new \Symfony\Component\DomCrawler\Crawler($newContent);
$newContent = $crawler->html();
// here is a fix, that can unescape all escaped chars
// $newContent = preg_replace_callback("/(&#[0-9]+;)/", function($m) { 
//   return mb_convert_encoding($m[1], "UTF-8", "HTML-ENTITIES"); 
// }, $newContent);

var_dump($newContent);

所以...我的问题是: 为什么utf8字符(西里尔符号)只在脚本标记内转义? O_O 。 。 。 。 。 。 。 。 。 。 。 。 。

0 个答案:

没有答案