PHP 过滤器使用 preg_replace 只允许字母数字和一些标点符号

标签 php regex

我对 preg_replace 有个小问题.

我需要一个函数来删除除 [A-z][0-9] 之外的所有字符和 .!? .

我可以使用 preg_match , 但这只验证字符串,我想删除字符。

这样我就不会把像 <p> 这样的垃圾字符放在最后和 ;[[;[p;[ 在描述 META 标签中。

所以函数必须这样做:

;")<br>kk23?!brkk23?!

任何帮助将不胜感激:D

最佳答案

$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);

关于PHP 过滤器使用 preg_replace 只允许字母数字和一些标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7059543/

相关文章:

php - isset、array_key_exists 和 !empty 的解决方法

php - 如何在 PHP 中启用正则表达式的空格不敏感模式?

regex - 如何在机器人框架中使用正则表达式选择子字符串

c++ - 如何检查 c++11 std::regex_replace 是否成功?

C# 替换第一个空格之前的所有内容

java - 使用post方法将数据从java android发送到webserver

c# - PHP mcrypt_encrypt 到 .NET

javascript - 如何将数组正确转换为 json_encode

python - 转换python正则表达式

regex - Perl 正则表达式查找精确单词