我的preg_replace
有点小问题。
我需要一个函数,删除除[A-z][0-9]
和.!?
以外的所有字符。
我可以使用preg_match
,但这只验证字符串,我想删除字符。
这样我就不会把垃圾字符像<p>
和;[[;[p;[
所以函数必须这样做:
;")<br>kk23?!
→brkk23?!
$string = ';")<br>kk23?!';
$new_string = preg_replace("/[^A-Za-z0-9.!?]/",'',$string);
echo $new_string;
左:字母、数字、空格、。!?
/* 3 choices. Pick one you like! */
$str = preg_replace("/[^A-Za-z0-9.!? ]/","",$str);
$str = preg_replace("/[^A-Za-z0-9.!?s]/","",$str);
$str = preg_replace("/[^A-Za-z0-9.!?[:space:]]/","",$str);
$var=preg_replace('~[^A-Za-z0-9?.!]~','',$var);
别忘了A-Za-z
和A-z
是不一样的
最简单的方法是做类似的事情:只需在!
后面添加字符,如果需要,请确保转义它们。
$string = "<br>kk23?!";
$string = preg_replace('/[^A-Za-z0-9 ?!]/', '', $string);
一个快速的解决方案也可以如下:
if (preg_match('/^[w.]+$/', $str)) {
echo 'Str is valid';
} else
echo 'Str is invalid';
//字符串只包含a到z、a到z、0到9和_(下划线)
w - matches [a-zA-Z0-9_]+
希望能有所帮助。
更多访问此页面。我认为越来越多的人遇到了同样的问题。更好的方法是尝试你自己,得到你需要的。自定义您的或复制粘贴这个php并尝试:
$sample_input = '&&*9?><<script>}cat-<html>ch(_P.,,mE.:;xc##e*p32t.ion $e){di+-($e->ge69tMesPHP _f0sage()3);}';
$output = ereg_replace("[^..........]", "", $sample_input);
echo "validate =".$output;
通过填充这个来修改你想要的:
$output = ereg_replace("[^.........]", "", $sample_input);
示例:如果你只想要小写字母,那么这样做:
$output = ereg_replace("[^a-z]", $sample_input);
小写加空格:
$output = ereg_replace("[^a-z ]", $sample_input);
和更多…这是一个简单的验证方法:
$username = ereg_replace("[^A-Z0-9_]", "", $username);
$fullname = ereg_replace("[^A-Za-z0-9., ]", "", $fullname);
$city = ereg_replace("[^A-Za-z -]", "", $city);
$phone = ereg_replace("[^0-9 +()-]", "", $phone);
$state = ereg_replace("[^A-Za-z -]", "", $state);
$zipcode = ereg_replace("[^0-9]", "", $zipcode);
$country = ereg_replace("[^A-Za-z -]", "", $country);
$gender = ereg_replace("[^mf]", "", $gender);