Php preg_匹配此模式的所有内容

Php preg_匹配此模式的所有内容,php,preg-match,preg-match-all,Php,Preg Match,Preg Match All,我有这个模式,我想用它来提取/image/字段后的数字,我尝试了这个模式,我在线检查了,它为第一个链接提供了所需的输出,但对于其他链接,它没有提供所需的输出 这是我的模式 /\sample.com\/image\/(.*)\// 这是我的绳子 Mario Ermito photos by sample.com Mario Ermito Latest News, Photos, Biography, Videos and Wallpapers [img]http://xyz.sam

我有这个模式,我想用它来提取/image/字段后的数字,我尝试了这个模式,我在线检查了,它为第一个链接提供了所需的输出,但对于其他链接,它没有提供所需的输出 这是我的模式

  /\sample.com\/image\/(.*)\//
这是我的绳子

     Mario Ermito photos by sample.com Mario Ermito Latest News, Photos, Biography, Videos and Wallpapers [img]http://xyz.sample.com/image/4205476/600full-mario-ermito.jpg[/img][img]http://xyz.sample.com/image/4453948/600full-my-profile.jpg[/img][img]http://xyz.sample.com/image/427185/600full-eagle-eye-poster.jpg[/img][img]http://xyz.sample.com/image/1323868/600full-alexis-bledel.jpg[/img][img]http://xyz.sample.com/image/2505314/600full-monroe-lee.jpg[/img][img]http://xyz.sample.com/image/3300481/600full-cindy-crawford.jpg[/img][img]http://xyz.sample.com/image/1046646/600full-pitura-freska.jpg[/img][img]http://xyz.sample.com/image/4322305/600full-kristin-kreuk.jpg[/img][img]http://xyz.sample.com/image/4261476/600full-kang-so--ra.jpg[/img][img]http://xyz.sample.com/image/3386911/600full-summer-brielle.jpg[/img][img]http://xyz.sample.com/image/4663949/600full-the-closer-artwork.jpg[/img]
乙二醇

我只想在/image/field之后提取数字我不想要图像名称我想要的输出是

     4205476
     4453948
      427185

etc字符串中的所有数字都使用此正则表达式
~\/\image\/(.*?)\/~

<?php
$str='     Mario Ermito photos by sample.com Mario Ermito Latest News, Photos, Biography, Videos and Wallpapers [img]http://xyz.sample.com/image/4205476/600full-mario-ermito.jpg[/img][img]http://xyz.sample.com/image/4453948/600full-my-profile.jpg[/img][img]http://xyz.sample.com/image/427185/600full-eagle-eye-poster.jpg[/img][img]http://xyz.sample.com/image/1323868/600full-alexis-bledel.jpg[/img][img]http://xyz.sample.com/image/2505314/600full-monroe-lee.jpg[/img][img]http://xyz.sample.com/image/3300481/600full-cindy-crawford.jpg[/img][img]http://xyz.sample.com/image/1046646/600full-pitura-freska.jpg[/img][img]http://xyz.sample.com/image/4322305/600full-kristin-kreuk.jpg[/img][img]http://xyz.sample.com/image/4261476/600full-kang-so--ra.jpg[/img][img]http://xyz.sample.com/image/3386911/600full-summer-brielle.jpg[/img][img]http://xyz.sample.com/image/4663949/600full-the-closer-artwork.jpg[/img]';
preg_match_all('~\/\image\/(.*?)\/~', $str, $matches);
print_r($matches[1]);
试试这个:

/.*sample\.com\/image\/(\d+)\/.*/


您需要调整正则表达式:

$regex = '@sample\.com/image/([0-9]+)/@'

preg_match_all('@sample\.com/image/([0-9]+)/@', $str, $m);
print_r($m);
预期产出:

Array
(
    [0] => Array
        (
            [0] => sample.com/image/4205476/
            [1] => sample.com/image/4453948/
            [2] => sample.com/image/427185/
            [3] => sample.com/image/1323868/
            [4] => sample.com/image/2505314/
            [5] => sample.com/image/3300481/
            [6] => sample.com/image/1046646/
            [7] => sample.com/image/4322305/
            [8] => sample.com/image/4261476/
            [9] => sample.com/image/3386911/
            [10] => sample.com/image/4663949/
        )

    [1] => Array
        (
            [0] => 4205476
            [1] => 4453948
            [2] => 427185
            [3] => 1323868
            [4] => 2505314
            [5] => 3300481
            [6] => 1046646
            [7] => 4322305
            [8] => 4261476
            [9] => 3386911
            [10] => 4663949
        )

)
现在您需要记住,PHP将返回它匹配的所有内容,包括正则表达式字符串中不需要的部分

从PHP手册:

对结果进行排序,以便$matches[0]是完整模式的数组 matches,$matches[1]是由第一个匹配的字符串组成的数组 括号中的子模式,依此类推


你能告诉我这个~能做什么吗。我尝试过类似的方法,但我的方法不起作用,而且您的方法很好。
~
是正则表达式的分隔符。你甚至可以使用
@
@sachin,你没有在
.com
之前用反斜杠逃跑,这是你的问题。这也是正确的<代码>~sample\.com\/image\/(.*?\/~我已经接受了答案,就是这样。我没有做任何投票等。thx对于你的回答我不是指你,投票否决需要125个声誉,所以不是你:)
Array
(
    [0] => Array
        (
            [0] => sample.com/image/4205476/
            [1] => sample.com/image/4453948/
            [2] => sample.com/image/427185/
            [3] => sample.com/image/1323868/
            [4] => sample.com/image/2505314/
            [5] => sample.com/image/3300481/
            [6] => sample.com/image/1046646/
            [7] => sample.com/image/4322305/
            [8] => sample.com/image/4261476/
            [9] => sample.com/image/3386911/
            [10] => sample.com/image/4663949/
        )

    [1] => Array
        (
            [0] => 4205476
            [1] => 4453948
            [2] => 427185
            [3] => 1323868
            [4] => 2505314
            [5] => 3300481
            [6] => 1046646
            [7] => 4322305
            [8] => 4261476
            [9] => 3386911
            [10] => 4663949
        )

)