php xpath html,使用PHP XPath采集的时候,如何保留nodeValue里的html符号

代码如下:

$html = <

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

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("#^#isU", "#{$nodeName}>$#isU"), array('', ''), $content);

echo $content;

回复内容:

代码如下:

$html = <

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

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("#^#isU", "#{$nodeName}>$#isU"), array('', ''), $content);

echo $content;

自己找到了办法。。。

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

// >> 改成 >>

$content = $dom->saveXml($elements->item(0));

相关标签:php

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值