Как удалить строку из текста

подскажите, как удалить строку из текста начинающеюся с определенного слова ? Есть текст, в нем есть строка, начинается со слова - Оплачивается. Надо удалить все предложение до точки. Нашел тут похожий вопрос, пробовал приведенное там решение

echo preg_replace('/[\.]+Оплачивается \d+ ./', '', $string); 

не срабатывает.


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

Автор решения: teran

для удаления фрагмента от "Оплачивается" до конца предложения можно использовать выражение (\s|^)Оплачивается.*?\.(?=\s|$). То есть фрагмент начинается от начала строки, или после пробела. Затем идет Оплачивается и произвольный текст, после чего точки. За точкой следует либо пробел, либо конец строки.

preg_replace("/(\s|^)Оплачивается.*?\.(?=\s|$)/u", $txt, "");

Если же у вас надо удалить от слова Оплачивается до тираж, то все будет проще

preg_replace("/Оплачивается.*?тираж/u", ....);
→ Ссылка