删除正则表达式敏感字符

时间:2013-03-04 18:46:41

标签: regex special-characters

我知道这听起来像是关于如何使用正则表达式删除一些字符的问题之一。但我的问题是你如何使用PHP甚至正则表达式从可能被识别为正则表达式函数的操作的字符中清除用户输入字符串并弄乱它。

我从用户那里获取一些输入并使用其中的一些来匹配html。所以像+,&,#等特殊字符是不可取的。

由于

[编辑] 回答PHP: $ my_var = preg_replace($ my_var);

2 个答案:

答案 0 :(得分:2)

你需要告诉我们语言!你需要解释更详细,你想要实现的目标,“&”和“#”不是正则表达式的特殊字符。

许多语言都具有从字符串中转义正则表达式特殊字符的功能。

e.g:

<。>在.net:Regex.Escape()中看到Regex.Escape Method

Java中的

Pattern.quote()请参阅Class pattern

php中的

preg_quote()请参阅preg_quote

其他语言也有类似的方法。

答案 1 :(得分:0)

$str = preg_replace("/[\+\&\#]/is" , "" , $str);