我不想解析span标签,这是我提取数据的子标签......
Ex:- <a class="imp">
Some data 1 2 3
<span>
Unwanted Data
</span>
</a>
我正在使用的代码: -
foreach($html->find(a.imp) as $value)
{
echo $value->innertext;
}
Output:-
Some data 1 2 3
Unwanted Data...
Desired output:-
Some data 1 2 3
我真的不知道是否有任何功能或方式,所以我不能包括儿童标签???
答案 0 :(得分:5)
我相信您必须遍历第一组结果,找到所有span元素并将每个span元素的outertext设置为空字符串,从而删除该元素的整个HTML。
foreach($html->find('a.imp') as $value)
{
foreach($value->find('span') as $e)
{
$e->outertext = '';
}
echo $value->innertext;
}
答案 1 :(得分:0)
简单的HTML DOM解析器将起作用:
$content = file_get_html($link);
$stuffiwant = $content->find("//a/text()");
var_dump($stuffiwant);
答案 2 :(得分:0)
我不相信简单有一个干净的方法来删除元素。在phpquery中你可以:
$doc->find('a.imp span')->remove();
echo $doc->find('a.imp')->text();