根据用户输入从字符串中删除字符

时间:2015-04-16 05:08:31

标签: php

假设我有一个字符串:

$str="1,3,6,4,0,5";

现在用户输入3

我希望从上面的字符串中删除3,以便上面的字符串变为:

$str_mod="1,6,4,0,5";

上面有什么功能吗?

3 个答案:

答案 0 :(得分:4)

你可以将它拆分,删除你想要的那个,然后将它重新组合在一起:

$str = "1,3,6,4,0,5";
$userInput = 3;

$bits = explode(',', $str);
$result = array_diff($bits, array($userInput));

echo implode(',', $result); // 1,6,4,0,5

加分:Make $userInput an array at the definition取出多个值。

答案 1 :(得分:2)

preg_replace('/\d[\D*]/','','1,2,3,4,5,6');

代替\ d只需放置数字php

答案 2 :(得分:2)

如果您不想进行字符串操作,可以将字符串拆分成多个部分,删除不需要的字符串,然后再加入组件:

$numberToDelete = 3;
$arr = explode(',',$string);
while(($idx = array_search($numberToDelete, $components)) !== false) {
    unset($components[$idx]);
}
$string = implode(',', $components);

以上代码将删除所有出现的3,如果您只想删除第一个,则可以用while替换if