编程语言
首页 > 编程语言> > php-在preg_match()中使用什么正则表达式?

php-在preg_match()中使用什么正则表达式?

作者:互联网

我对正则表达式不是很熟悉,因此我真的需要您的帮助.

我正在解析网站的源代码,并且我感兴趣的信息(称为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>~';

解决方法:

您已经忘记了图案中的所有白色字符(空格,制表符,换行符):

~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. (您没有提供足够的源代码作为示例)

标签:preg-match,html-parsing,parsing,php,regex
来源: https://codeday.me/bug/20191123/2065747.html