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 回答