1

以下返回真:

$bool1 = preg_match("/5/", "Your bill is $5.00 dude");
var_dump($bool1);

我希望这是因为'5'在字符串中。但以下返回false:

$bool1 = preg_match("/\$5\./", "Your bill is $5.00 dude");
var_dump($bool1);

我以为我正在$正确地转义,以便它$5在字符串中查找并找到它,但没有。有人可以解释吗?谢谢。

4

3 回答 3

3

使用单引号来防止 PHP 误解任何转义:

$bool1 = preg_match('/\$5\./', "Your bill is $5.00 dude"); 
于 2013-09-26T13:49:38.247 回答
1

您应该使用进行正确转义的preg_quote()函数

于 2013-09-26T13:47:17.380 回答
0
$bool1 = preg_match('/\$5\./', "Your bill is $5.00 dude");
var_dump($bool1);
于 2013-09-26T13:52:57.147 回答