作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个 HTML:
<div class="body">
<p>Some text 1</p>
<h2>Header 2</h2>
<p>Actual content</p>
</div>
我想从中得到除<h2>
以外的一切所以它看起来像这样:
<p>Some text 1</p>
<p>Actual content</p>
试图实现这一目标:
$crawler = new Crawler( $html );
$body = $crawler->filter( 'div.body' );
$body->rewind();
$body = $body->current();
$h2 = $crawler->filter('h2');
$h2->rewind();
$h2 = $h2->current();
$body->removeChild($h2);
但是我得到:
[DOMException] Not Found Error
我错过了什么?
最佳答案
The DomCrawler component eases DOM navigation for HTML and XML documents.
还有:
While possible, the DomCrawler component is not designed for manipulation of the DOM or re-dumping HTML/XML.
DomCrawler 旨在从 DOM 文档中提取详细信息,而不是修改它们。
但是……
由于 PHP 通过引用传递对象,Crawler 基本上是 DOMNode 的包装器s,在技术上可以修改底层 DOM 文档:
// will remove all h2 nodes inside .body nodes
$crawler->filter('.body h2')->each(function ($crawler) {
foreach ($crawler as $node) {
$node->parentNode->removeChild($node);
}
});
这是一个工作示例:https://gist.github.com/jakzal/8dd52d3df9a49c1e5922
关于php - Symfony2 DomCrawler 从 DOMElement 移除节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19177578/
我正在做一个项目,我的 android 在这个项目中作为一个网络服务器工作;输入带端口号的 IP 地址,打开 Web 界面,用户可以将文件上传到手机。我想在 Web 界面上显示一些图片,以便我们的界面
我是一名优秀的程序员,十分优秀!