【发布时间】:2016-08-29 11:40:56
【问题描述】:
我有一串带有空格和换行符的文本。有时标签。例如
$text = 'Hello I am chunk of text
A new line follows';
然后我用 preg_match 做一些匹配。
例如:
preg_match('/Hello I am\s*/',$a,$b);
但在我这样做之前,我想看看这个 $text 字符串中到底有什么样的间距,所以我想看看正则表达式看到了什么,否则我正在做一些试验和错误。我真正的 $text 字符串实际上要复杂得多,有时会有制表符换行符,我怀疑某种我不知道的分离。所以我想看看正则表达式看到了什么,例如:
Hello\sI\am\tchunk\s\sof\stext\nA\snew\sline\sfollows
它不翻译空格、制表符和换行符,而是打印它们的内容。这是怎么做到的?我想看看当我通过这个 $text 字符串进入 preg_match 时 php 看到了什么。谢谢
【问题讨论】:
-
为什么是
\s?\s表示任何空格。 -
使用
addcslashes转义换行符。或者strtr也可以替换空格。 -
无论您做什么,都不会从该字符串中获得换行符,因为它不包含任何内容。您刚刚连接了两个字符串。
$text包含“单词”textA。 -
另外,
am和chunk之间的文本是 4 个空格,而不是制表符。 -
谢谢,我已经添加了换行符 :)