aru*_*run 5 symfony domcrawler
我domCrawler在symfony框架中使用.我使用它从html中抓取内容.现在我需要在带有ID的元素中获取文本.我可以使用下面的代码来完成文本:
$nodeValues = $crawler1->filter('#idOfTheElement')->each(function (Crawler $node, $i) {
return $node->text();
});
Run Code Online (Sandbox Code Playgroud)
element(#idOfTheElement)包含一些跨度,按钮等(也有一些类).我不想要那些内容.如何从元素中获取文本,排除其中的一些其他元素.
注意:我想要获取的文本除了元素#idOfTheElement之外没有任何其他包装器
Html如下所示:
<li id='#idOfTheElement'>Tel :<button data-pjtooltip="{dtanchor:'tooltipOpposeMkt'}" class="noMkt JS_PJ" type="button">text :</button><dl><dt><a name="tooltipOpposeMkt"></a></dt><dd><div class="wrapper"><p><strong>Signification des pictogrammes</strong></p><p>Devant un numéro, le picto <img width="11" height="9" alt="" src="something"> signale une opposition aux opérations de marketing direct.</p><span class="arrow"> </span></div></dd></dl>12 23 45 88 99</li>
Run Code Online (Sandbox Code Playgroud)
您可以获取元素 html,然后去掉标签
preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $node->html());
Run Code Online (Sandbox Code Playgroud)