php - 标记href属性中的正则表达式查询字符串

时间:2015-11-17 15:53:13

标签: php jquery regex

我想regex一个查询字符串,它包含在标记的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'];

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

1 个答案:

答案 0 :(得分:0)

你从哪里得到那个字符串?你从数据库中得到它吗? 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>';