разрыв строки в регулярных выражениях в переполнении стека

Я разрабатывал поисковую систему на PHP без использования MySQL. Поэтому я создал систему, которая ищет слова в файлах php. Работает нормально, но проблема в отображении найденных страниц. Я пытаюсь использовать регулярное выражение, чтобы показать заголовок страницы (если существует) на найденных страницах, например:

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

Работает нормально, если после тега заголовка нет разрывов строк. но если я прерву строку после тега, например, это не сработает. Кто-то может мне помочь?

-2

Решение

добавить 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.
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]