2012-06-26 16 views
0

我有一個數據庫中的「請求」,我需要從中提取圖像的名稱 - 它總是一個.jpg,但名稱中的字符數可能會有所不同,所以我正在避開substr()。當值可能不同時返回子字符串

該值看起來像這樣「添加545_4.jpg到相冊,英國公開賽」。

「添加」將始終存在,「到相冊」將始終存在,但專輯名稱不同。

根據手冊,我猜想%字符意味着不止一個字符,所以我試圖讓它代表相冊的變體。所以,我結束了這個,但似乎沒有發生,因爲它只是迴應原始字符串。

$emij = str_replace('Added','', 
     str_replace(' to Photo Album%', '', $thisTask[0]['request'])); 
echo $emij; 

任何幫助,非常感謝。

+0

,所以你真的只是想* .JPG? – 2012-06-26 00:21:59

+0

不,在這種情況下,我需要'545_4.jpg'返回 – jgravois

+0

這就是我剛剛說的 – 2012-06-26 00:24:18

回答

1

regex將工作最適合這樣的:

preg_match("/Added (.*?) to Photo Album, (.*?)/",$thisTask[0]['request'],$m); 
// $m[1] is now the filename 
// $m[2] is the name of the album 
+0

我得到了一個「消息:未定義變量:m」並且沒有輸出 – jgravois

+0

我忘記了用替換替換匹配...現在完美地工作。謝謝!!! – jgravois

相關問題