从字符串中删除特定字符

时间:2014-09-18 09:57:29

标签: php

我有一个看起来像这样的cookie:

4+5+6+2+2+2+2+3+3+3+3+4+4+4+4+5+5+5+5+6+6+6+6+7+7+7+7+8+8+8+8+14+14+14+14+14+21+21+21+21+21

我需要根据用户输入删除特定字符。

所以,例如,如果我想删除数字2,它将如下所示:

4+5+6+3+3+3+3+4+4+4+4+5+5+5+5+6+6+6+6+7+7+7+7+8+8+8+8+14+14+14+14+14+21+21+21+21+21

如何在PHP中完成?

感谢

3 个答案:

答案 0 :(得分:5)

$input="4+5+6+2+2+2+2+3+3+3+3+4+4+4+4+5+5+5+5+6+6+6+6+7+7+7+7+8+8+8+8+14+14+14+14+14+21+21+21+21+21";

$arr = explode('+',$input);
foreach($arr as $key=>$val){
    if($val==2) unset($arr[$key]);
}

$out = implode('+', $arr);

echo $out;

答案 1 :(得分:0)

    $str = "4+5+6+2+2+2+2+3+3+3+3+4+4+4+4+5+5+5+5+6+6+6+6+7+7+7+7+8+8+8+8+14+14+14+14+14+21+21+21+21+21";

    $res = '';
    $str_arr = explode('+',$str);
    foreach($str_arr as $key=>$val){
        if($val!=2)  {
            $res.= $val.'+';
        }
    }
    echo rtrim($res,'+');

答案 2 :(得分:0)

$cookie = "4+5+6+2+2+2+2+3+3+3+3+4+4+4+4+5+5+5+5+6+6+6+6+7+7+7+7+8+8+8+8+14+14+14+14+14+21+21+21+21+21";
$replaces = array("/\\+2\\b/","/^2\+/");
$cookie = preg_replace($replaces,"",$cookie);
echo $cookie;