0

使用单引号时

preg_match("/Location:(.*?)\n/", 'Location: www.\n', $matches);
    var_dump($matches);

它打印:

array (size=0)
  empty

使用双引号时

preg_match("/Location:(.*?)\n/", "Location: www.\n", $matches);
var_dump($matches);

它打印

array (size=2)
  0 => string 'Location: www.
' (length=15)
  1 => string ' www.' (length=5)

为什么??

4

3 回答 3

0

PHP 手册

单引号

指定字符串的最简单方法是将其括在单引号(字符')中。

要指定文字单引号,请使用反斜杠 ( \) 对其进行转义。要指定文字反斜杠,请将其加倍 ( \\)。所有其他反斜杠实例将被视为文字反斜杠:这意味着您可能习惯的其他转义序列,例如\ror \n,将按指定的字面输出而不是具有任何特殊含义。

于 2012-11-28T05:00:11.890 回答
0

这与preg_match. 当您使用单引号时,您的字符串不会以换行符结尾;它以反斜杠结尾,后跟一个 n。

于 2012-11-28T04:59:07.663 回答
-1

看看这可以帮助你:

preg_match()

于 2012-11-28T05:00:26.730 回答