开发者

Split a file name and only take one part for use

I have a $value such as 22214-HAV.jpg or 22214 HAV.jpg (notice no dash)开发者_高级运维

I want to run a quick function to pull only the number from filename.


A quick solution, which make use of PHPs type juggling

$number = (int) $filename;


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

Observations:

  1. This will only match numbers starting exactly from the beginning. Any position can be allowed by removing ^.
  2. This will match any sequence of digits and not actual numbers. Numbers can be restricted by using ([1-9]\d*|0) in place of \d+.
  3. If no match is found $matches[0] will be null and not an empty string.

Further reading:

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


You can use explode for this

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


        echo $reqval
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜