preg_match转储空数组

时间:2014-02-22 13:17:45

标签: php regex

鉴于我有网址https://website.com/test/demo/success.php?token=-abc123-,我想获得价值abc123。不知怎的,我在preg_match上得到两个空字符串。

$url = 'https://website.com/test/demo/success.php?token=-abc123-';
preg_match('-(.*?)-', $url, $match);
var_dump($match);

输出:array(2) { [0]=> string(0) "" [1]=> string(0) "" }

我在这里做错了什么?

1 个答案:

答案 0 :(得分:4)

您需要使用正则表达式分隔符:

preg_match('/-(.*?)-/', $url, $match);
var_dump($match);

或更好:

preg_match('/-([^-]*)-/', $url, $match);
var_dump($match);