我需要獲取所有用戶ID,而不用用戶前綴,所以我試圖在點和詞的結尾之間得到它。獲取給定的值
$string = 'users.user_id1, users.user_id2, users.user_id3, users.user_id4';
preg_match_all('/\.(.*?)\/B/', $string, $matches);
我需要獲取所有用戶ID,而不用用戶前綴,所以我試圖在點和詞的結尾之間得到它。獲取給定的值
$string = 'users.user_id1, users.user_id2, users.user_id3, users.user_id4';
preg_match_all('/\.(.*?)\/B/', $string, $matches);
使用
preg_match_all('/(?<=\.)[^,]+(?=,|$)/', $string, $matches);
但是,如果你的前綴是固定的,你可以使用字符串替換功能的需求。
是的,我也想過,我忘了寫它只有現在。 – NoNameZ
試試這個:
$string = 'users.user_id1, users.user_id2, users.user_id3, users.user_id4';
preg_match_all('/users.([^,]+),?/', $string, $matches);
毫米,可以請更新 - 我需要user_id1,user_id2,user_id3,user_id4 – NoNameZ
更新,對不起,+號被錯誤地定位 –
嘗試:
$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);
只是不是很通用的字符串的內容。
str_ireplace('users.','',str_ireplace(' ','',$string))
很會照顧的空間太 感謝
你的問題是什麼? – Wearybands
他實際上需要$字符串withouth用戶前綴... –
嘗試explode();功能 – Vamsi