我想regex一个查询字符串,它包含在标记的href属性中。 我的目标是获得这个标签的页码:
<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'];
编辑:我需要这个号码,因为我会将它用于查询。页码文本不一定对应于查询页码。分页可能有点复杂。我只需要检索一些与点击按钮无关的信息。
答案 0 :(得分:0)
你从哪里得到那个字符串?你从数据库中得到它吗? API?是难以编码的?
在您当前的代码中,它看起来像是硬编码的,所以为什么不做:
$pagenum = 3;
$page_link = '<a class="page-numbers" href="/website/admin/back.php?page=my_page&pagenum=". $pagenum . "&id=12">next</a>';