当OR语句中的第二个值匹配时,我的regex返回一个空值,如果找到第二个,我希望它忽略第一个匹配
preg_match('/>'s+(?:<input type="submit" value="(.*?)" '/>|<p class="no">(.*?)<'/p>)'s+<'/form>/', $string, $matches);
如果第一项匹配:
Array
(
[0] => <input type="submit" value="Go" />
[1] => Go
)
如果第二项匹配:
Array
(
[0] => <p class="no">Value</p>
[1] =>
[2] => Value
)
如何让它返回[1]中的第二个项值而不是[2]中的值?
不使用(?:
来启动选项,而是使用(?|
[docs]