分割文件名,只取一部分使用

问题描述 投票:0回答:3

我有一个 $value,例如 22214-HAV.jpg 或 22214 HAV.jpg(注意没有破折号)

我想运行一个快速函数来仅从文件名中提取数字。

php regex string-matching
3个回答
5
投票

一个快速解决方案,利用 PHP 类型杂耍

$number = (int) $filename;

4
投票
preg_match('/^\d+/' ,'22214-HAV.jpg', $matches);
var_dump($matches[0]);

观察:

  1. 这只会匹配从头开始的数字。通过删除
    ^
    可以允许任何位置。
  2. 这将匹配任何数字序列而不是实际数字。可以通过使用
    ([1-9]\d*|0)
    代替
    \d+
    来限制数量。
  3. 如果未找到匹配项,
    $matches[0]
    将是
    null
    而不是空字符串。

进一步阅读:

  1. http://www.php.net/manual/en/function.preg-match.php
  2. http://www.regular-expressions.info/reference.html

1
投票

您可以为此使用爆炸

   //for '-'
            list($reqval)=explode('-', $value); 
    //for space
            list($reqval)=explode(' ', $value); 


        echo $reqval
© www.soinside.com 2019 - 2024. All rights reserved.