2016-03-21 193 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