2012-08-31 35 views
1

我需要獲取所有用戶ID,而不用用戶前綴,所以我試圖在點和詞的結尾之間得到它。獲取給定的值

$string = 'users.user_id1, users.user_id2, users.user_id3, users.user_id4'; 
preg_match_all('/\.(.*?)\/B/', $string, $matches); 
+0

你的問題是什麼? – Wearybands

+0

他實際上需要$字符串withouth用戶前綴... –

+0

嘗試explode();功能 – Vamsi

回答

2

使用

preg_match_all('/(?<=\.)[^,]+(?=,|$)/', $string, $matches); 

但是,如果你的前綴是固定的,你可以使用字符串替換功能的需求。

+0

是的,我也想過,我忘了寫它只有現在。 – NoNameZ

3

試試這個:

$string = 'users.user_id1, users.user_id2, users.user_id3, users.user_id4'; 
preg_match_all('/users.([^,]+),?/', $string, $matches); 
+0

毫米,可以請更新 - 我需要user_id1,user_id2,user_id3,user_id4 – NoNameZ

+0

更新,對不起,+號被錯誤地定位 –

1

嘗試:

$string = 'users.user_id1, users.user_id2, users.user_id3, users.user_id4'; 
$temparray1 = explode(", ", $string); 
$temparray2 = array(); 
foreach ($temparray1 as $value) { 
$temp = explode(".", $value); 
$temparray2[] = $temp[1]; 
} 
$finalstring = implode(", ", $temparray2); 
unset($temparray2); 
unset($temparray1); 

$finalstring是內容。它應該是:user_id1, user_id2, user_id3, user_id4

告訴我,如果你需要它在另一種格式。

更新: Str_replace也是一種可能性。寫:

$string = 'users.user_id1, users.user_id2, users.user_id3, users.user_id4'; 
$finalstring = str_replace('users.', '', $string); 

只是不是很通用的字符串的內容。

2
str_ireplace('users.','',str_ireplace(' ','',$string)) 

很會照顧的空間太 感謝