【问题标题】:PHP RegEx extract filenamePHP RegEx 提取文件名
【发布时间】:2012-02-20 11:18:01
【问题描述】:

我需要你在 PHP 中使用 RegEx 的帮助

我有类似的东西: vacation.jpg 我正在寻找一个正则表达式,它只提取文件名的“假期”。 有人可以帮我吗?

【问题讨论】:

标签: php regex


【解决方案1】:

不要为此使用正则表达式 - 使用 basename:

$fileName = basename($fullname, ".jpg");

【讨论】:

    【解决方案2】:

    您可以使用pathinfo 代替正则表达式。

    $file = 'vacation.jpg';
    $path_parts = pathinfo($file);
    $filename = $path_parts['filename'];
    
    echo $filename;
    

    【讨论】:

      【解决方案3】:

      如果你真的需要正则表达式,这个可以做到:

      $success = preg_match('~([\w\d-_]+)\.[\w\d]{1,4}~i', $original_string, $matches);
      

      在匹配项中,您将拥有文件名的第一部分。

      【讨论】:

        【解决方案4】:

        已经提供了更好的答案,但这里有另一种选择!

        $fileName = "myfile.jpg";
        $name = str_replace(substr($fileName, strpos($fileName,".")), "", $fileName);
        

        【讨论】:

          【解决方案5】:

          你不需要正则表达式。

          方法一:

          $str = 'vacation.jpg';
          $parts = explode('.', basename($str));
          if (count($parts) > 1) array_pop($parts);
          $filename = implode('.', $parts);
          

          方法2(更好,使用pathinfo()):

          $str = 'vacation.jpg';
          $filename = pathinfo($str, PATHINFO_FILENAME);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-11-18
            • 1970-01-01
            • 1970-01-01
            • 2012-03-16
            • 2016-02-08
            • 1970-01-01
            • 2013-09-21
            • 1970-01-01
            相关资源
            最近更新 更多