如何从逗号分隔列表中删除给定项目?

112*_*233 1 php regex arrays explode array-difference

$list = 'Mon,Tue,Wed,Thrs,Fri,Sat,Sun';
Run Code Online (Sandbox Code Playgroud)

是否有正则表达式或函数可以如下工作?

1)"Tue"       return string ->"Mon,Wed,Thrs,Fri,Sat,Sun"
2)"Thrs, Mon"     return string ->"Tue,Wed,Fri,Sat,Sun"
3)"Sun,Wed,Fri"       return string ->"Mon,Tue,Thrs,Sat"
4)"Fri"     return string ->"Mon,Tue,Wed,Thrs,Sat,Sun"
Run Code Online (Sandbox Code Playgroud)

以下工作正常,从字符串中只删除一个项目.如果我想删除上面的多个项目怎么办?

$input = 'Wed';
$list = 'Mon,Tue,Wed,Thrs,Fri,Sat,Sun';
    $array1 = Array($input);
    $array2 = explode(',', $list);
    $array3 = array_diff($array2, $array1);

    $output = implode(',', $array3);

    echo $output;
Run Code Online (Sandbox Code Playgroud)

hjp*_*r92 5

也可以explode$input变量上使用:

$input = 'Wed';
$list = 'Mon,Tue,Wed,Thrs,Fri,Sat,Sun';
$array1 = explode(',', $input);
$array2 = explode(',', $list);
$array3 = array_diff($array2, $array1);

$output = implode(',', $array3);

echo $output;
Run Code Online (Sandbox Code Playgroud)