抓取 html 中具有最高值的参数

Grab parameter in html with highest value

我有 $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= 个案例,对它们进行排序并获取最高数值。

您需要转义 ./?(导致 \.\/\?)个字符才能正确获取数字,对连续链接使用 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

无需订购号码。