1

我试图在 PHP 中创建一个代码,该代码在给定字符串中的正斜杠之后获取主题 ID。但是我遇到的问题是它什么都不返回,我怎样才能让它返回int?

echo  preg_match('/([^/]+)/', 'Learning-English/478', $discussion_id);
echo $discussion_id;

这是一个在线论坛,感谢您的帮助;非常感谢。如果您需要更多信息,请随时发表评论。

4

2 回答 2

2
preg_match("#/(\d+)$#", 'Learning-English/478', $discussion_id);

那对你有用。

打印id(匹配的号码);你需要回声$discussion_id[1]

这是一个工作链接


对于较新的字符串,您不需要字符串结束匹配($)。因此,正则表达式将是:

preg_match("#/(\d+)#", 'Looking-for-Pen-Pals/1161&t=viewDiscussion', $discussion_id);
echo $discussion_id[1];
于 2013-03-20T22:49:00.193 回答
1

你可以explode()像这样使用:

$arr = explode('/',$string);
$discussion_id = $arr[count($arr)-1];

这将拆分您的字符串,然后为您提供最后一部分。

于 2013-03-20T22:48:43.343 回答