标记href属性中的regex查询字符串


regex query string in a tag href attribute

我想正则化一个包含在标记的href属性中的查询字符串。例如,我的目标是获得一个标签的页码:

<a class="page-numbers" href="/website/admin/back.php?page=my_page&amp;pagenum=2&amp;id=12">next</a>

我想获得查询pagenum。有没有一种方法可以用正则表达式或类似的东西直接获得它?

这是我的代码:

$page_link = '<a class="page-numbers" href="/website/admin/back.php?page=my_page&amp;pagenum=3&amp;id=12">next</a>';
$page_nb = preg_match('/<a href="(.+)">/', $page_link, $matches);
$page_nb = (isset($matches[1])) ? $matches[1] : $page_nb;
$page_nb = parse_str(parse_url($page_nb, PHP_URL_QUERY), $params);
$page_nb = $params['pagenum'];

编辑:我需要这个号码,因为我将使用它进行查询。页码文本不一定与查询页码相对应。分页可能有点复杂。我只需要在点击按钮时检索一些与此无关的信息。

你从哪里得到这个字符串?你是从数据库得到的吗?api?它是硬编码的吗?

在你当前的代码中,它看起来像是硬编码的,所以为什么不直接这样做呢:

$pagenum = 3;
$page_link = '<a class="page-numbers" href="/website/admin/back.php?page=my_page&amp;pagenum=". $pagenum . "&amp;id=12">next</a>';