我有$html
:
$html = '<div>
<a href="./?pg=99"></a>
<a href="./?pg=32"></a>
<a href="./?pg=95"></a>
<a href="./?pg=1"></a>
//etc
';
如何浏览并抓住pg
的最大值?因此,在上述情况下,我们得到:
$result = 99;
可能的方法是通过preg_match_all()
和正则表达式找到/?pg=
个案例,对它们进行排序并获取最高的数值。
答案 0 :(得分:2)
您需要转义./?
(导致\.\/\?
个字符)以正确获取数字,对连续链接使用U
标志,然后使用max()
:
// number --v U --v
preg_match_all('/<a.*href="\.\/\?pg=(\d+)".*>(?:.*)<\/a>/U', $html, $matches);
// numbers are our capture group 1 --> $matches[1]
$result = max($matches[1]);
var_dump($result);
// 99
无需订购号码。