3

私は正規表現にあまり詳しくないので、これについてあなたの助けが本当に必要です.

サイトのソース コードを解析しています。関心のある情報 (XXXX と呼びましょう) は、次のコードで囲まれています。

                Number of people
        </p>
        <p style="font-size: 150%;">
            <b>XXXX</b>

注: これはソース コードから直接コピーしたので、インデントとすべてを確認できます (重要な場合)。

私はこれを試しましたが、preg_match() は 0 を返します:

$regex = '~Number of people</p><p style="font-size: 150%;"><b>(.+?)</b>~';
4

1 に答える 1

3

パターン内のすべての白い文字 (スペース、タブ、改行) を忘れてしまった:

~Number of people\s*</p>\s*<p style="font-size: 150%;">\s*<b>(.+?)</b>~

またはそれ以上

~Number of people\s*</p>\s*<p style="font-size: 150%;">\s*<b>\K[^<]+~

ただし、HTML を解析する良い方法は DOM を使用することです。(例として十分なソースコードを提供していません)

于 2013-06-06T16:19:09.247 に答える