php 解析dom后 汉字都编程类似ascii的东西了,但是网页正常显示汉字,查看源代码后成ascii的东西了
查看源代码的效果
<div class="content" contentScore="8405">
<p>
  这两个月,微信营销像疯了一样在蔓延。我也一直在关注这个新玩意,渐渐的,有了一些看法,今天不妨分享一下。</p>
<p>
  我先是关注了“王力宏”,我跟他说一句话,他很快回过来一长段语音,然后再说,就不搭理我了。从一开始我就知道,这一定是机器做的,出于好奇,我时不时跟他说说话,不大有回复,有回复也是那种跟谁说都可以的打哈哈的话。有一天突然接受到王力宏发来的微信,里面说了他在嘉兴演唱会的情况,我想这也是录好通过微信平台统一发送的吧。</p>
思路:把数据处理后,放到$ContentBox变量中,如果直接输出$ContentBox->nodeValue,则正常看到网页和查看源代码都正常显示,但是html标签(如div src)和图片都没了,如果将$ContentBox 复制到另一个dom里,正常查看网页也正常显示,但是查看源代码文字就成类似ascii的东西(标签和图片都没丢),复制代码如下,
$Target = new DOMDocument;
$Target->appendChild($Target->importNode($ContentBox, true));
echo $Target->saveHTML();
这是什么原因呢,如何解决
------解决方案--------------------
$Target = new DOMDocument('1.0', 'utf-8'); $ContentBox = $Target->importNode($ContentBox, true); echo $Target->saveXML($ContentBox);