Это сложнее, чем вы думаете. Очевидное простое решение состоит в том, чтобы запустить strip_tags () над ним, но это просто удалит теги и оставит все текстовое содержимое без изменений, включая встроенный JavaScript и CSS, а также весь текст внутри элементов, которые обычно скрыты (например, установив display: none
на них). Вы можете попробовать некоторую магию регулярных выражений, чтобы отфильтровать части, которые вам не интересны, но регулярные выражения в HTML, как правило, являются плохой идеей для чего-то нетривиального. Я боюсь, что окончательное решение состоит в том, чтобы использовать правильный анализатор HTML, а затем извлечь фактический текст из получающегося дерева DOM - к тому времени, когда вы его получите, вы будете достаточно близки к реализации веб-браузера.