RegEx - 两者之间的数字。和/

时间:2017-03-24 12:01:50

标签: php regex

我有一堆像这样的网址。我需要获取位于“。”之间的线程ID。并且“/”没有在URL的末尾获得帖子编号。

https://www.internetforum.com/thread-title-here.111111/#post-22222222

我希望正则表达式在这个例子中获得111111。

有人可以帮忙吗?我不能在生命中这样做,我在两个字符串之间获取数字没有问题,但我正在努力,因为这里的符号而不是字符......

提前致谢。

3 个答案:

答案 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];