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

使用する

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

ただし、プレフィックスが固定されている場合は、必要に応じて文字列置換機能を使用できます。

于 2012-08-31T10:16:17.273 に答える
1
str_ireplace('users.','',str_ireplace(' ','',$string))

スペースも処理します ありがとう

于 2012-08-31T10:14:23.717 に答える
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 に答える