php - 此模式的 preg_match_all

标签 php preg-match preg-match-all

我有这个模式,我想用它来提取/image/字段后的数字,我已经尝试过这个模式,我已经在 http://www.functions-online.com/preg_match_all.html 上在线查看了。它为第一个链接提供了所需的输出,但对于其他链接,它没有提供所需的输出 这是我的模式

  /\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/字段后提取数字我不想要图像名称我想要的输出是

     4205476
     4453948
      427185

等字符串中的所有数字

最佳答案

使用这个正则表达式~\/\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]);

输出:

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

enter image description here

关于php - 此模式的 preg_match_all,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22952769/

相关文章:

php - WordPress 包含 ("../../../wp-blog-header");失败

PHP Regex 在任意数量的单词和 1-3 位数字之后正确语法 preg_split

javascript - 使用 PHP 从包含 youtube/vimeo url 的字符串中提取域名、视频 url 和视频 id 的正则表达式模式

PHP Regex - 使用逗号分隔符拆分字符串,忽略标签之间的逗号

php - 谷歌分析 API : filter by multiple URIs?

php - 通过 PHP 连接到 SQL Server 失败

php - 正则表达式 - preg_match 拉丁和希腊字符

Php 正则表达式 preg_match 重复字符

php - 如何在 PHP 中使用正则表达式查找完全匹配项?

php - 缓存(自动版本)通过组合多个 css 文件创建的 php 文件的有效方法是什么?