PHP 在 DOMDocument 上保存 HTML
$html = <<<HTML
<div class="hey">test</div>
<div id="no">bla</div>
<div class="hey"><b>sa</b> hey<div id="l">b</div></div>
HTML;
$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$q = '//div[@class="hey"]';
$arr = $xpath->query($q);
foreach($arr as $el) {
echo $el->nodeValue;
}
我上面有这段代码,但它没有将 html 保存在“hey”类中。如何将 HTML 保存到 div 中?
$html = <<<HTML
<div class="hey">test</div>
<div id="no">bla</div>
<div class="hey"><b>sa</b> hey<div id="l">b</div></div>
HTML;
$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$q = '//div[@class="hey"]';
$arr = $xpath->query($q);
foreach($arr as $el) {
echo $el->nodeValue;
}
I have this code above, but it doesn't save the html inside the class "hey". How can I save the HTML inside the divs?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试使用
$e1->textContent
而不是$e1->nodeValue
textContent
nodeValue
Try
$e1->textContent
instead of$e1->nodeValue
textContent
nodeValue
您可以使用 saveXML 或 saveHTML 以及可选的 contextNode 参数(将其设置为 $el)来获取字符串。
该字符串还将包含
div.hey
,通过 RegExp 将其删除。请注意:saveHTML 从 5.3.6 版本开始支持可选的 contextNode
you may use saveXML or saveHTML with the optional contextNode-argument(set it to $el) to get the string.
This string will also contain
div.hey
, remove it via RegExp.Please Note: saveHTML supports the optional contextNode since version 5.3.6