0

我很难过preg_match,这是我之前问的一个问题:

使用字符串作为表达式发送到 eval() 并用可变值 PHP 替换子字符串

现在我试图给 str 一个 preg_match ,如下所示:

$str =  "return (!(preg_match('/[^A-Za-z$]+/', ##replace##)));"

如果我是正确的,如果我给##replace## 值“ValueWithNumber4”,这将返回 TRUE,

那么问题出在哪里,我应该如何改变它?

4

1 回答 1

0

preg_match不替换任何东西,它匹配. true如果 in 中的值与给定的表达式匹配,它会返回##replace##(它会因为“ValueWithNumber4”中有一个非 Alpha/$。 - 它确实如此,我测试了它)我认为你的表达式不正确。你可能想要

/^[A-Za-z]+$/
/* or */ /^[a-z]+$/i
于 2012-10-05T14:14:00.727 回答