在PHP中,要处理多行文本,可以使用preg_match_all()
函数与适当的正则表达式模式。默认情况下,.
字符不会匹配换行符。为了在正则表达式中包含换行符,需要使用(?s)
标志,它会让.
字符匹配任何字符,包括换行符。
下面是一个处理多行文本的示例:
在这个示例中,我们使用了/^(?s).*$/m
正则表达式模式。这个模式的含义如下:
^
:表示行的开始(?s)
:让.
字符匹配任何字符,包括换行符.*
:匹配任意数量的任意字符$
:表示行的结束/m
:多行模式,让^
和$
分别匹配每一行的开始和结束
preg_match_all()
函数会返回一个二维数组,其中第一个元素包含所有匹配到的字符串,第二个元素包含每个匹配项在原始文本中的偏移量。在这个例子中,$matches[0]
将包含一个数组,其中每个元素都是文本中的一行。