2016-03-21 151 views
2

我在PHP中有以下字符串。如何提取部分字符串

"File:content/resources/11933/Calm_Nebula_by_The_Free_Mason.jpgDate:Fri Mar 18 11:30:17 CET 2016Size:23124" 

我需要分别获取文件,日期和大小。

提取所需值的最佳方法是什么?

explode() OR substring() 

爆炸需要一些共同的价值,substring需要开始和结束。在这两种情况下,我都有点困惑。

任何帮助将不胜感激。

+0

您可能会发现正则表达式非常有用。参见[preg_match()](http://php.net/manual/en/function.preg-match.php)。 – showdev

+0

是否真的没有其他分隔字符,例如在日期和单词'Size'之间......如果不是,则可能需要使用explode和substr的组合 –

+0

使用正则表达式进行模式识别。 – frosty

回答

4

试试这个:

<?php 
$text = "File:content/resources/11933/Calm_Nebula_by_The_Free_Mason.jpgDate:Fri Mar 18 11:30:17 CET 2016Size:23124"; 
$pattern = '/file:(.*?)date:(.*?)size:(.*)/i'; 
preg_match($pattern, $text, $out); 
print_r($out); 
?> 

输出:

Array 
(
    [0] => File:content/resources/11933/Calm_Nebula_by_The_Free_Mason.jpgDate:Fri Mar 18 11:30:17 CET 2016Size:23124 
    [1] => content/resources/11933/Calm_Nebula_by_The_Free_Mason.jpg 
    [2] => Fri Mar 18 11:30:17 CET 2016 
    [3] => 23124 
) 

演示:https://3v4l.org/OcSXH