Вернуть часть предложения из текста

У меня есть текст вида:

Результат запроса
По Вашему запросу о действительности паспорта РФ 0001 № 784596 получен ответ о том, что данный паспорт «Cреди недействительных не значится».
Параметры запроса
Поиск был произведен по следующим, указанным Вами параметрам:

Серия паспорта: 0001

Номер паспорта: 784596
СООБЩИТЬ ОБ ОШИБКЕ
ДРУГОЙ ЗАПРОС
©2021 Главное управление по вопросам миграции МВД России

Я хочу вернуть строку вида:

Результат запроса
По Вашему запросу о действительности паспорта РФ 0001 № 784596 получен ответ о том, что данный паспорт «Cреди недействительных не значится».

Моя попытка:

preg_match_all('/По Вашему(.*?)+\n/', $data, $matches);
var_dump($matches);

Как из текста получить только определенную часть текста?


Ответы (1 шт):

Автор решения: Wiktor Stribiżew

Используйте

if (preg_match('/По Вашему[^.]*/u', $data, $matches)) {
    echo $matches[0];
}
// => По Вашему запросу о действительности паспорта РФ 0001 № 784596 получен ответ о том, что данный паспорт «Cреди недействительных не значится»

См. пример кода на PHP и пример работы выражения.

[^.]* находит ноль и более символов, отличных от ..

→ Ссылка