0

我需要获取所有没有用户前缀的用户 ID,所以我试图在点和词尾之间获取它。

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

4 回答 4

2

试试这个:

$string = 'users.user_id1, users.user_id2, users.user_id3, users.user_id4';
preg_match_all('/users.([^,]+),?/', $string, $matches);
于 2012-08-31T10:11:12.430 回答
1
str_ireplace('users.','',str_ireplace(' ','',$string))

它也会照顾空间谢谢

于 2012-08-31T10:14:23.717 回答
1

采用

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

但是如果你的前缀是固定的,你可以根据需要使用字符串替换功能。

于 2012-08-31T10:16:17.273 回答
0

尝试:

$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);

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

于 2012-08-31T10:12:15.450 回答