1

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つの単語だけを削除するにはどうすればよいでしょうか。

4

1 に答える 1

0
foreach($html->find('span.yeah') as $xdat)
{
    $result = strip_tags($xdat);
    $result = str_get_html($result);
}

spanとを含むすべての html タグと属性を取り除きますclass="yeah"

于 2012-11-04T06:32:21.147 に答える