1

Simple_HTML_Domは、特定のタグ内のものを取得するのに最適ですが、テキストを取得する場合、基本以外のことを行う方法がわかりません。これは、私がスクレイピングしているコードがどのように見えるかの例です。

<span>
Some code stuff.
</span>
FirstWord: 88
<span>
More code stuff.
</span>

ご覧のとおり、FirstWordと88はどのような種類のタグにも含まれていません。これは彼らをつかむのを難しくします。ただし、こすりは次のとおりです。FirstWordは常に同じであり、数だけが変更されます。

したがって、私の考えは、FirstWordの直後に続く数字を取得するようにSimple_HTML_Domに指示することです。問題は、これを行う方法がわからないことです。

どんな助けでも大歓迎です。

4

2 に答える 2

1
preg_match_all('/FirstWord:\s?([0-9]+)/', $input, $matches);
print_r($matches);
于 2013-02-26T23:06:00.437 に答える
0

HTMLが次のようになっていると仮定すると、消去法を使用できます..

<html>
    <head></head>
    <body>
        <span>Some code stuff.</span>
        FirstWord: 88
        <span>More code stuff.</span>
    </body>
</html>

すべての子要素 ​​(この場合は<span>要素) をループして、それらの html を空の文字列に設定するだけです。これにより、'FirstWord: 88' だけが残ります。

foreach($html->find('body', 0)->children() as $child){
    $child->outertext = "";
}

echo $html;
// Output:
// FirstWord: 88
于 2013-02-28T04:34:29.260 に答える