使用PHP XPath采集的时候,如何保留nodeValue里的html符号
PHP中文网
PHP中文网 2017-04-10 15:55:50
[PHP讨论组]

代码如下:

$html = <<


    
    Test


abcdefghijklmn
opqrstuvwxyz

EOF; // create document object model $dom = new DOMDocument(); // load html into document object model @$dom->loadHTML($html); // create domxpath instance $xPath = new DOMXPath($dom); // get all elements with a particular id and then loop through and print the href attribute $elements = $xPath->query('//*[@id="content"]/p/span'); $content = $elements->item(0)->nodeValue; echo $content;

内容里的
会被去除,使用什么操作比如有没有$e->innerHtml之类的,可以保留html标签。

8.18 更新:

$html = <<


    
    Test


abcdefghijklmn
opqrstuvwxyz

EOF; // create document object model $dom = new DOMDocument(); // load html into document object model @$dom->loadHTML($html); // create domxpath instance $xPath = new DOMXPath($dom); // get all elements with a particular id and then loop through and print the href attribute $elements = $xPath->query('//*[@id="content"]/p/span'); $nodeName = $elements->item(0)->nodeName; // $content = $elements->item(0)->nodeValue; $content = $dom->saveXml($elements->item(0)); $content = $dom->saveHtml($elements->item(0)); $content = preg_replace(array("#^<{$nodeName}.*>#isU", "#$#isU"), array('', ''), $content); echo $content;
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
怪我咯

自己找到了办法。。。

$content = $elements->item(0)->nodeValue;

// >> 改成 >>

$content = $dom->saveXml($elements->item(0));
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号