2014-09-18 4 views
-1

у меня есть печенье, которое выглядит следующим образом:Удаление конкретных символов из строки

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?

благодаря

+0

Это очень простая вещь, чтобы сделать, но Google есть все, что нужно знать с самого простого поисков. http://bit.ly/1uJGmHd - посмотрите на 'str_replace()'. – LeonardChallis

ответ

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; 
+0

Я чувствую, что может быть решение регулярного выражения, но это проще понять anwser :) – pistou

+2

@Pye ['/^$ num \ + | \ + $ num $ | \ b \ + $ num \ b/'] (http://regex101.com/r/jD5iR8/1) – Prix

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,'+'); 
+0

, но вы хотите этот выход. Посмотрите на ваш вопрос – WordpressCoder

+0

Вы хотите удалить целые 2 из строки, будь то 2,21,22 или только 2 – WordpressCoder

+0

Да, вы правы. Прошу прощения за это. Я отредактирую свой ответ – WordpressCoder

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; 
+0

Обновлено сейчас, спасибо :) – Avara

Смежные вопросы