Php 在preg_match()中为此使用什么正则表达式?
我对正则表达式不是很熟悉,我真的需要你的帮助 我正在解析一个站点的源代码,我感兴趣的信息(我们称之为XXXX)由以下代码包围:Php 在preg_match()中为此使用什么正则表达式?,php,regex,parsing,html-parsing,preg-match,Php,Regex,Parsing,Html Parsing,Preg Match,我对正则表达式不是很熟悉,我真的需要你的帮助 我正在解析一个站点的源代码,我感兴趣的信息(我们称之为XXXX)由以下代码包围: Number of people </p> <p style="font-size: 150%;"> <b>XXXX</b> 人数 XXXX 注意:我直接从源代码中复制了这一点,因此您可以看到缩进和所有内容(如果这很重要的话)
Number of people
</p>
<p style="font-size: 150%;">
<b>XXXX</b>
人数
XXXX
注意:我直接从源代码中复制了这一点,因此您可以看到缩进和所有内容(如果这很重要的话)
我已经尝试过了,但是preg_match()返回0:
$regex = '~Number of people</p><p style="font-size: 150%;"><b>(.+?)</b>~';
$regex='~人数(.+?)~;
您忘记了模式中的所有白色字符(空格、制表符、换行符):
~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[^<]+~
~Number of people\s*\s*\s*\K[^谢谢Casimir,但是当我使用这两个正则表达式中的任何一个时,我会遇到这个错误:“PHP解析错误:语法错误,意外的T\U变量”不要使用正则表达式来解析HTML。你无法用正则表达式可靠地解析HTML,你将面临悲伤和挫折。一旦HTML偏离你的预期,你的代码将被破坏。有关如何使用已编写、测试和调试的PHP模块正确解析HTML的示例,请参阅格德。