Я разрабатывал поисковую систему на PHP без использования MySQL. Поэтому я создал систему, которая ищет слова в файлах php. Работает нормально, но проблема в отображении найденных страниц. Я пытаюсь использовать регулярное выражение, чтобы показать заголовок страницы (если существует) на найденных страницах, например:
preg_match_all('/<title[^>]*>(.*?)<\/title>/',$conteudo, $matches, PREG_PATTERN_ORDER);
Работает нормально, если после тега заголовка нет разрывов строк. но если я прерву строку после тега, например, это не сработает. Кто-то может мне помочь?
добавить 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.
Других решений пока нет …