【发布时间】:2015-11-17 15:53:13
【问题描述】:
我想正则表达式包含在标签的 href 属性中的查询字符串。 例如,我的目标是获取这个 a 标签的页码:
<a class="page-numbers" href="/website/admin/back.php?page=my_page&pagenum=2&id=12">next</a>
我想要查询pagenum。有没有办法用正则表达式或类似的东西直接获取它?
这是我的代码:
$page_link = '<a class="page-numbers" href="/website/admin/back.php?page=my_page&pagenum=3&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'];
编辑:我需要这个号码,因为我将使用它进行查询。页码文本不一定与查询页码相对应。分页可能有点复杂。我只需要检索一些与单击按钮无关的信息。
【问题讨论】:
-
听起来pagenum等于锚文本,所以...
-
事实上不一定。它可以是整数或 html 字符,因为它是带有下一个/上一个按钮和点的分页...
-
@freaky 考虑就您以前的问题和预期行为提出问题,而不是任何奇怪的解决方法。你为什么需要它?它是如何渲染的?您的问题缺少一些上下文
-
这与解决问题无关。如果可能的话,我的目标是找到直接获取查询字符串的最简单和最好的方法。