【问题标题】:php - regex query string in a tag href attributephp - 标签href属性中的正则表达式查询字符串
【发布时间】:2015-11-17 15:53:13
【问题描述】:

我想正则表达式包含在标签的 href 属性中的查询字符串。 例如,我的目标是获取这个 a 标签的页码:

<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'];

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

【问题讨论】:

  • 听起来pagenum等于锚文本,所以...
  • 事实上不一定。它可以是整数或 html 字符,因为它是带有下一个/上一个按钮和点的分页...
  • @freaky 考虑就您以前的问题和预期行为提出问题,而不是任何奇怪的解决方法。你为什么需要它?它是如何渲染的?您的问题缺少一些上下文
  • 这与解决问题无关。如果可能的话,我的目标是找到直接获取查询字符串的最简单和最好的方法。

标签: php jquery regex


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-04-29
    • 2014-07-20
    • 2011-08-11
    • 2010-09-21
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多