php中正则表达式的换行符

时间:2015-01-04 01:24:48

标签: php expression row line break

我正在使用PHP开发一个不使用MySQL的搜索系统。所以我创建了一个在php文件中查找单词的系统。它工作正常,但问题是显示找到的页面。我正在尝试使用正则表达式在找到的页面上显示页面的标题(如果存在),如下所示:

preg_match_all('/<title[^>]*>(.*?)<\/title>/',$conteudo,  $matches, PREG_PATTERN_ORDER);

当标题标记后没有换行符时,它可以正常工作。但是如果我在标签之后断行,例如,它就不起作用了。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

s (PCRE_DOTALL)标记添加到正则表达式中(即在结束s后附加/),因此正则表达式中的.将匹配换行符。

s (PCRE_DOTALL)
If this modifier is set, a dot metacharacter in the pattern matches all characters, including newlines. Without it, newlines are excluded. 
This modifier is equivalent to Perl's /s modifier. 
A negative class such as [^a] always matches a newline character, independent of the setting of this modifier.