我有一堆像这样的网址。我需要获取位于“。”之间的线程ID。并且“/”没有在URL的末尾获得帖子编号。
https://www.internetforum.com/thread-title-here.111111/#post-22222222
我希望正则表达式在这个例子中获得111111。
有人可以帮忙吗?我不能在生命中这样做,我在两个字符串之间获取数字没有问题,但我正在努力,因为这里的符号而不是字符......
提前致谢。
答案 0 :(得分:1)
您可以使用以下代码:
<?php
$url = "https://www.internetforum.com/thread-title-here.111111/#post-22222222";
preg_match("/\.([0-9]+)\//", $url, $match);
if($match){
echo $match[1]; // prints out 111111
}
?>
答案 1 :(得分:0)
可以这样做,
$str = 'https://www.internetforum.com/thread-title-here.111111/#post-22222222';
preg_match('/internetforum.com\/.*?\.(.*?)\/.*/',$str,$matches);
echo $matches[1];
答案 2 :(得分:0)
尝试不使用正则表达式:
$s = 'https://www.internetforum.com/thread-title-here.111111/#post-22222222';
echo $o = explode("/",end(explode(".", $s)))[0];