Php 匹配特定UL之间的所有内容

Php 匹配特定UL之间的所有内容,php,html,regex,Php,Html,Regex,我试图匹配这个特定ul之间的所有内容,但我无法让它匹配任何内容。任何帮助都将不胜感激 HTML

我试图匹配这个特定ul之间的所有内容,但我无法让它匹配任何内容。任何帮助都将不胜感激

HTML
PHP
if(preg#u match#u all(“#
    (**?
#“,$id_html,$matches)){ 回声“找到匹配”; } 否则{ 回显“未找到匹配项”; }
将XML/HTML与Regexp匹配是您不想做的事情。相信我

我建议你尝试使用或


快速猜测:文本中有换行符。这意味着您需要一个标志来使
匹配换行符。它是
s
标志

"abc\ndef" =~ /abc.+def/  -> no match
"abc\ndef" =~ /abc.+def/s -> match
看一看


<>但不要考虑使用正则表达式。解析HTML(或XML)应该使用这些格式的解析器来完成。

正则表达式应该更像这样

/<ul class='pagination_tabs'.'[^>]*<\/ul>/i`

如果你不打算回答这个问题,你应该用评论来代替。作为一个明确的答案,这是胡说八道。出于性能考虑或仅仅出于方便,我可以想到数千种使用regexp从HTML提取数据的有效案例(一个regexp代替50行嵌套搜索是一个简单的选择)。对于这个具体案例,这是可以理解的建议,但仍然不是答案。我将研究这个解决方案。感谢您想要解析现有的html而不是PHP代码,您可能应该使用客户端javascript。究竟为什么需要jquery呢?更简单的语法。为什么要用PHP解析现有的HTML?我不是在说PHP。我说的是驱动jquery的东西提供的本地DOM API:JavaScript。但是!我甚至在早上用它来煮咖啡,它比咖啡机快,而且更标准。
$doc = new DomDocument();
$doc->load('myfile.html');
$ul = $dom->documentElement->getElementById('pagination');
"abc\ndef" =~ /abc.+def/  -> no match
"abc\ndef" =~ /abc.+def/s -> match
/<ul class='pagination_tabs'.'[^>]*<\/ul>/i`
if($('ul.pagination_tabs li').length > 0){ alert 'Exists'; )