我想正则化一个包含在标记的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'];
编辑:我需要这个号码,因为我将使用它进行查询。页码文本不一定与查询页码相对应。分页可能有点复杂。我只需要在点击按钮时检索一些与此无关的信息。
你从哪里得到这个字符串?你是从数据库得到的吗?api?它是硬编码的吗?
在你当前的代码中,它看起来像是硬编码的,所以为什么不直接这样做呢:
$pagenum = 3;
$page_link = '<a class="page-numbers" href="/website/admin/back.php?page=my_page&pagenum=". $pagenum . "&id=12">next</a>';