如何使用symfony的DomCrawler组件更新选定的Dom元素?

时间:2014-09-11 08:55:09

标签: php symfony dom domcrawler

如何使用symfony的DomCrawler组件更新选定的Dom元素?

$crawler->filter("table.positions")->addHtmlContent("<tr class="position"></td></td></tr>");

$crawler->filter('.position')->html(); // InvalidArgumentException: The current node list is empty.

2 个答案:

答案 0 :(得分:0)

根据documentation

  

所有过滤器方法都返回一个带有过滤内容的新Crawler实例。

因此

$populatedCrawler = $crawler->filter("table.positions")->addHtmlContent("<tr class="position"></td></td></tr>");

echo '<pre>'.$populatedCrawler->filter('.position')->html().'</pre>';

会给你你所期望的。

答案 1 :(得分:0)

试试这个

$ crawler-&GT;过滤器( '位置 ') - &GT; getNode(0) - &GT;的setAttribute(' ATTR', 'VALUE');

此代码获取第一个节点与选择器匹配并更改所选属性的值。