preg_match_all('#>\s*(\S*)\s*<#Us', $html, $matches);
我现在有这么一条正则,匹配页面上所有的> 与< 之间的字符,好像是这样,我自己猜的,有懂得给我详细解释下吧
问题是,这个匹配我想做个限制,就是除了<title>与</title>之间的不匹配,其他的都正常匹配
preg_match_all('#>\s*(\S*)\s*<#Us', $html, $matches);
我现在有这么一条正则,匹配页面上所有的> 与< 之间的字符,好像是这样,我自己猜的,有懂得给我详细解释下吧
问题是,这个匹配我想做个限制,就是除了<title>与</title>之间的不匹配,其他的都正常匹配
非贪婪模式(U)匹配字符串,用正向前瞻不匹配来实现不查找title,下面这个测试正常
<meta charset="utf=8"/>
<?php
$html=<<<str
<a>abc</a>文字文字<b>bbb</b>文字文字<title>title<title>
str;
preg_match_all('#>\s*(\S*)\s*<(?!title)#Us', $html, $matches);
var_dump($matches);
?>