得到这个东西的用户来到我的网站,他们每次都有新的网址变量,但结尾总是相同的 / dp / Random ID /
http://mywebsite.com/?source=text&keyword=site.com/random-text/dp/10505/
所以我想保存的是/ dp /这个id /我想过使用类似的东西:
$keywword = $_GET['keyword'];
有些如何在正则表达式中提取随机ID,你可以找到/ dp /和/之间的内容,并保存到像$ id这样的变量,以便以后能够使用它。
答案 0 :(得分: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/
,这仍然可以正常工作。
答案 1 :(得分:5)
或者使用正则表达式:
if (preg_match('/^.*\/dp\/([0-9]+)\/?$/i', $_GET['keyword'], $matches))
var_dump($matches[1]);
答案 2 :(得分:1)
也许这会解决问题:
$keyword = $_GET['keyword'];
$id = preg_replace('#^(?:.+)?\/dp\/([0-9]+)\/(?:.+)?$#', '$1', $keyword);