3

得到这个东西的用户来到我的网站,他们每次都有新的 url 变量,但结尾总是相同的 /dp/Random ID/

http://mywebsite.com/?source=text&keyword=site.com/random-text/dp/10505/

所以我要保存的是 /dp/this id/ 我想使用类似的东西:

  $keywword = $_GET['keyword'];

还有一些如何像在正则表达式中那样提取随机 ID,您可以找到 /dp/ 和 / 之间的内容,并将其保存到 $id 之类的变量中,以便以后使用。

4

3 回答 3

10

您可以执行以下操作:

$keyword = $_GET['keyword'];
$foo     = explode('/', $keyword);
$id      = $foo[3];

DEMO:http://codepad.org/CcOcwDa6


我还打算建议一个 regExp 解决方案:

preg_match('/dp\/([^\/]+)\//', $url, $matches);
$id = $matchs[1];

regExp 解决方案的好处是,如果您的keyword参数发生更改,只要您要查找的 id 前面有dp/.

DEMO:http://ideone.com/xqXU2b

于 2013-03-06T14:23:18.180 回答
5

或使用正则表达式:

if (preg_match('/^.*\/dp\/([0-9]+)\/?$/i', $_GET['keyword'], $matches))
    var_dump($matches[1]);
于 2013-03-06T14:25:19.263 回答
1

也许这会成功:

$keyword = $_GET['keyword'];
$id = preg_replace('#^(?:.+)?\/dp\/([0-9]+)\/(?:.+)?$#', '$1', $keyword);
于 2013-03-06T14:28:22.790 回答