我正在使用PHP Simple HTML DOM Parser * [Manual]从网站上获取数据。
现在我要做的是从所提取的内容span
中删除所有class="yeah"
中的前三个单词。所以我已经实现了这个代码,但它有一个问题:
foreach($html->find('span.yeah') as $xdat)
{
$x_des = implode(' ', array_slice(explode(' ', strip_tags($xdat)), 0, 3));
$result = str_replace($x_des, ' ', $result);
$result = str_get_html($result);
}
虽然它删除了所有<span class="yeah">
中的前三个单词,但问题是,这会修改完整提取的内容。但我想只修改<span class="yeah">
中的数据,但它匹配所有获取数据中的前三个单词,然后删除所有这些数据,但我想只从那些跨度类型中删除这些数据。
Asumming获取的数据是:
Some first three words content <span class="yeah">first three words some content some content</span> continue to some content
因此,输出应为:
Some first three words content <span class="yeah"> some content some content</span> continue to some content
此处,“前三个单词”是该跨度类型的前3个单词,因此我只需将其从span类型中删除,而不是从完整内容中删除。
那么,如何从提取的内容中的所有<span class="yeah"> </span>
中仅删除前三个单词?
答案 0 :(得分:0)
foreach($html->find('span.yeah') as $xdat)
{
$result = strip_tags($xdat);
$result = str_get_html($result);
}
它会删除所有html标记和属性,但包括span
和class="yeah"
。