PHP:preg_split插入符号和散列标记字符串

时间:2016-10-04 22:09:12

标签: php

如何分割文件名在哪里是插入符号? 像:

  

6543534-001#2016年6月13日^ 16.00.54.JPG

我想分开#和^。喜欢2016-06-13 16.00.54

我试过这个:

<?php $str = $file['name']; $chars = preg_split('/^#/', $str); print_r($chars); ?>

1 个答案:

答案 0 :(得分:2)

  1. 插入符^匹配行的开头,因此您需要将其转义以将其用作普通字符
  2. 使用竖线|进行更改,以匹配任一字符
  3. 所以你想要这个:

    $chars = preg_split('/\^|#/', $str);
    

    工作示例:https://3v4l.org/PrTEJ

    或者你可以像这样使用角色类[#^](HT @ chris85):

    $chars = preg_split('/[#^]/', $str);
    

    无论哪种方式,你都会得到一个包含三个元素的数组。

    专业提示:将此与list()方法相结合,将您的字符串分成一个单独的变量!

    list($number, $date, $filename) = preg_split('/[#^]/', $str);
    
    echo $date . " " . $filename; // 2016-06-13 16.00.54.JPG