如何在PHP中将文本输入转换为正则表达式模式

时间:2014-06-10 19:28:17

标签: php html regex

有没有一种简单的方法可以将$_POST['var']转换为php正则表达式模式?

获取用户输入时:

<input type="text" id="txt1" />

并将其发布到php文件,该字符串可通过以下方式访问:

$_POST['txt1']

我试过了:

$userPattern = "/^" .  preg_quote($_POST['txt1']) . "$/";

但是当用户输入包含/等特殊字符时,我会收到错误“preg_match():Unknown modifier'$'”

1 个答案:

答案 0 :(得分:0)

你很接近这一行:

$userPattern = "/^" .  preg_quote($_POST['txt1']). "$/";

但错过了一个额外的参数,表明你正在使用的分隔符,如http://www.php.net//manual/en/function.preg-quote.php中所述:

$userPattern = "/^" . preg_quote($_POST['txt1'], '/') . "$/";

分隔符可以是任何&#34;任何非字母数字,非反斜杠,非空白字符&#34;如下所述:http://www.php.net//manual/en/regexp.reference.delimiters.php