2

我有这个字符串:tag:domain.com,2012-10-12:feed/channel/id/335

我试图从这个字符串中获取最后一个数字到一个变量中。此字符串中的日期也是动态的,但我不需要在变量中使用它。

这是我的代码:

$string = "tag:domain.com,2012-10-12:feed/channel/id/335";

preg_match('/tag\:domain\.com,|\d+|-|\d+|-|\d+|\:feed\/channel\/id\/|\d+/', $string, $matches);


$last_digits = ???    

也许有更简单的方法可以做到这一点?

4

4 回答 4

6

这应该有效。

$aParts = explode('/', $string);
$iId = end($aParts);
于 2012-10-12T09:11:49.313 回答
0

就在这里。在字符串的末尾使用锚点:

preg_match('/\d+$/', $string, $matches);

$表示字符串的结尾,或多行模式下的一行)

然后您可以像这样检索 ID:

$last_digits = $matches[0];
于 2012-10-12T09:12:03.263 回答
0
preg_match('/(\d+)$/', $string, $matches);

$ - 表示结束

$matches[1] 将具有您的价值

于 2012-10-12T09:12:19.793 回答
0

这应该工作:

$string = "tag:domain.com,2012-10-12:feed/channel/id/335";
$pattern = "/\/(\d+)$/";
preg_match($pattern, $string, $matches);

$number = $matches[1];

/基本上,您要求输入 a和字符串结尾之间的任何数字$

于 2012-10-12T09:14:29.507 回答