用于排除@#$%^& *的PHP代码

时间:2009-12-30 09:38:01

标签: php

如何从给定字符串中排除@#$%^& *?

4 个答案:

答案 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);

这是更快的方法之一。如果你只创建一次对数组。