我知道这听起来像是关于如何使用正则表达式删除某些字符的问题之一。但我的问题是,您将如何使用 PHP 甚至正则表达式从可能被识别为正则表达式函数操作的字符中清除用户输入字符串并将其弄乱。
我从用户那里获取一些输入并使用其中的一些来匹配 html。所以像 +、&、# 等特殊字符是不可取的。
谢谢
[编辑] PHP 的答案: $my_var = preg_replace($my_var);
我知道这听起来像是关于如何使用正则表达式删除某些字符的问题之一。但我的问题是,您将如何使用 PHP 甚至正则表达式从可能被识别为正则表达式函数操作的字符中清除用户输入字符串并将其弄乱。
我从用户那里获取一些输入并使用其中的一些来匹配 html。所以像 +、&、# 等特殊字符是不可取的。
谢谢
[编辑] PHP 的答案: $my_var = preg_replace($my_var);
你需要告诉我们语言!!!而且你需要解释的更详细,你想要达到什么,“&”和“#”不是正则表达式的特殊字符。
许多语言都有从字符串中转义正则表达式特殊字符的功能。
例如:
在 .net 中:Regex.Escape()
参见Regex.Escape 方法
在 Java 中:Pattern.quote()
参见类模式
在 php 中:preg_quote()
见preg_quote
其他语言也有类似的方法。
$str = preg_replace("/[\+\&\#]/is" , "" , $str);