如何从给定字符串中排除@#$%^& *?
答案 0 :(得分:5)
您可以使用str_replace
指定要替换的多个字符:
$s= 'what a @bad #$%^ string *';
$s= str_replace(array('@', '#', '$', '%', '^', '%', '*'), '', $s);
echo($s);
这将输出:
what a bad string
答案 1 :(得分:5)
简单的正则表达式是一种方法:
$str = preg_replace('/[@#$%^&*]/', '', $str);
答案 2 :(得分:1)
试试这个:
$str= preg_replace("/[^a-zA-Z0-9_\-\/=]+/", "", 'your string here');
这只允许常见的可接受的字符。不包括你提到的字符。
或者你也可以试试这个:
$str = '@ # $%^&*';
$new_str = str_replace(array('@', '#', '$', '%', '^', '&', '*'), '', $str);
print $new_str;
答案 3 :(得分:1)
$thisIsaVeryBadStringIndeed = "@wh#at %a b^a&d @#$%^&*string";
$unWantedBadCharacters = "@#$%^&*";
$chars = preg_split('//',$unWantedBadCharacters);
for ($i=0;$i<strlen($unWantedBadCharacters);++$i)
$pairs[$unWantedBadCharacters{$i}] = '';
$stringWithoutBadCharacters = strtr($thisIsaVeryBadStringIndeed,$pairs);
这是更快的方法之一。如果你只创建一次对数组。