我正在使用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">
但它与所有获取的数据中的前三个单词匹配,然后删除所有这些数据,尽管我只想从那些跨度类型中删除这些数据。
假设获取的数据是:
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 class="yeah"> </span>
获取的内容中只删除前三个单词呢?