我需要获取所有没有用户前缀的用户 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);
试试这个:
$string = 'users.user_id1, users.user_id2, users.user_id3, users.user_id4';
preg_match_all('/users.([^,]+),?/', $string, $matches);
str_ireplace('users.','',str_ireplace(' ','',$string))
它也会照顾空间谢谢
采用
preg_match_all('/(?<=\.)[^,]+(?=,|$)/', $string, $matches);
但是如果你的前缀是固定的,你可以根据需要使用字符串替换功能。
尝试:
$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);
只是字符串的内容不是很通用。