我正在使用PHP开发一个不使用MySQL的搜索系统。所以我创建了一个在php文件中查找单词的系统。它工作正常,但问题是显示找到的页面。我正在尝试使用正则表达式在找到的页面上显示页面的标题(如果存在),如下所示:
preg_match_all('/<title[^>]*>(.*?)<\/title>/',$conteudo, $matches, PREG_PATTERN_ORDER);
当标题标记后没有换行符时,它可以正常工作。但是如果我在标签之后断行,例如,它就不起作用了。有人可以帮帮我吗?
答案 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.