PHP Simple HTML DOM Parser*[手動]を使用してWebサイトからデータをフェッチしています。
今私がしたいのは、フェッチされたコンテンツからspan
持っているすべてから最初の3つの単語を削除することです。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);
}
問題はすべてから最初の3つの単語を削除します<span class="yeah">
が、これにより、完全にフェッチされたコンテンツが変更されます。ただし、含まれているデータのみを変更<span class="yeah">
し、フェッチされたすべてのデータの最初の3ワードに一致してから、すべてを削除します。ただし、これらのスパンタイプのみからこれらのデータを削除します。
フェッチされたデータを想定すると、次のようになります。
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ワード」は、そのスパンタイプの最初の3ワードであるため、コンテンツ全体から削除するのではなく、スパンタイプからのみ削除する必要があります。
<span class="yeah"> </span>
では、フェッチされたコンテンツのすべてから最初の3つの単語だけを削除するにはどうすればよいでしょうか。