如何在PHP中使用正则表达式在字符串中斜杠后获取int

如何在PHP中使用正则表达式在字符串中斜杠后获取int,php,regex,Php,Regex,我试图用PHP创建一个代码,在给定字符串的正斜杠后获取主题id。然而,我的问题是,它什么也不返回,我如何使它返回int echo preg_match('/([^/]+)/', 'Learning-English/478', $discussion_id); echo $discussion_id; 这是一个在线论坛,谢谢你的帮助;非常感谢。如果您需要更多信息,请随时发表评论 您可以像这样使用explode(): $arr = explode('/',$string); $discussio

我试图用PHP创建一个代码,在给定字符串的正斜杠后获取主题id。然而,我的问题是,它什么也不返回,我如何使它返回int

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

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

您可以像这样使用
explode()

$arr = explode('/',$string);
$discussion_id = $arr[count($arr)-1];
这将拆分字符串,然后得到最后一部分

preg_match("#/(\d+)$#", 'Learning-English/478', $discussion_id);
那对你有用

打印
id
(匹配号码);您需要回显
$discussion\u id[1]

这是一张工作票


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

preg_match("#/(\d+)#", 'Looking-for-Pen-Pals/1161&t=viewDiscussion', $discussion_id);
echo $discussion_id[1];

([^/]+)/”,“学英语/(\d+)
应该可以。其中,
(\d+)
匹配一个或多个数字,并将放入匹配组。您的字符串看起来像什么?也许你不需要正则表达式。字符串是任何东西,然后是正斜杠,然后是整数。你也可以将它分解,然后
分解('/',$string)[1]
为什么不拆分字符串并获取最后一个元素?它比正则表达式快得多。@OP想要的是正斜杠后面的Allendar主题id。我试过了,但它捕获了正斜杠后面的所有内容,我只想插入,可能有更多的字符after@JakeStainer你能发布一些你有的字符串示例吗?寻找笔友/1161&t=viewDiscussion@JakeStainer检查差异。