在正则表达式中添加单引号

时间:2014-05-13 06:24:59

标签: php regex

这是我原来的正则表达式:

$patt .= "([".preg_quote($letter).']+\s*(\s*([^\d\w]|[_]|(&#.+;)|<br\s*[\/]?>)\s*)*)+';

我想为'添加选项。我这样添加了

$patt .= "([".preg_quote($letter).']+\s*(\s*([^\d\w]|[_]|(&#.+;')|<br\s*[\/]?>)\s*)*)+';

$patt .= "([".preg_quote($letter).']+\s*(\s*([^\d\w]|[_]|[']|(&#.+;)|<br\s*[\/]?>)

\ S *)*)+&#39 ;;

$patt .= "([".preg_quote($letter).']+\s*(\s*([^\d\w]|[_]|(')|(&#.+;)|<br\s*[\/]?>)\s*)*)+';

同样通过封闭到"",它们都不起作用。在这种情况下,所有都使正则表达式无效。将'添加到过滤规则

的正确方法是什么

1 个答案:

答案 0 :(得分:1)

将正则表达式用双引号括起来:

$patt .= "([".preg_quote($letter)."]+\s*(\s*([^\d\w]|_|(&#.+;')|<br\s*\/?>)\s*)*)+";

顺便说一下,为了匹配单个字符_或单个字符\/,没有必要从中创建一个类。