Я не знаю, как сделать, потому что у вас в коде полный развал. Я не понимаю, что он делает, как должен работать и в каком порядке. И я не говорю, что .then() не нужен, просто удивился.
"Задана не все агрументы командной строки" - это же плохо, лучше сразу исправить и указать, каких конкретно аргументов не хватает. Зачем с пользователем играть в угадайку?
Я бы для решения этой задачи построил дерево документа, а потом рекурсивно его обрабатывал depth-first, выгребая контент и расставляя переносы строк там, где это требуется (тут логика относительно простая). Как только вы будете работать с абстрактным деревом и конечным набором стандартных текстов, вы и получите ту самую универсальность. И пьюрифаить ничего не понадобится - вы будете просто игнорировать все эти стили и левые атрибуты. Я бы ещё добавил к этому функционалу скриншот всей страницы 1к1, чтобы корректор мог понять контекст, это часто важно.
В общем, для меня условия Йоды являются явным признаком плохо пахнущего кода: либо они используются без необходимости просто потому что, либо код можно и нужно отрефакторить так, чтобы их использование не требовалось.
Александр Шаповал: код, который весь построен на условных операторах имеет огромную цикломатическую сложность и требует рефакторинга.
Что касается PhpStorm: Settings -> Editor -> Inspections -> PHP -> Probable Bugs -> Assignment in condition.
Using assignments in conditional expressions may cause errors that are hard to detect and is therefore considered bad programming practice.
ellrion: PhpStorm, например. Беспокоиться ей с того, что это распространённая ошибка, которую имеет смысл отловить на ранних этапах.
Про "ухудшают" это не субъективное утверждение, иначе а) все бы изначально так и писали и б) для такого стиля не придумывали бы специальное название, которое подчёркивает его неествественность. Оно "спорное" в том смысле, что кому-то всё-равно, а кому-то ухудшают. Ни разу не видел, чтобы кто-то сказал "так читабельнее".
Потому что вы же решаете задачу не "получить только текст", а "убрать все теги". И эту задачу регулярными выражениями не решить, нужно работать с обработанным деревом документа. Я не нашёл на сайте HTMLPurifier описание технологии его работы, но вряд ли там регулярки.
Я так и не добился от вас конкретного описания вашей задачи. Вам нужен вообще весь контент страницы без тегов или какие-то дополнительные эвристики?