При отображении, например, сводки поста в блоге, я хотел бы урезать раздел «выше сгиба» до определенной визуальной длины. Скажем, 300 букв.
Я могу обрезать исходный контент (например, уценку или HTML), но это рискует разделить элементы, которые на самом деле не должны быть разделены. Что, если 300-й исходный символ находится в середине <a href="https://google
?
То же самое относится и к содержимому в любом «богатом» формате, например Markdown.
Одним из возможных решений является удаление всего форматирования перед созданием сводки, но это означает, что выделение жирным шрифтом, курсивом и даже гиперссылками или другим контентом будет излишне удалено.
Я могу представить алгоритм, основанный на поиске в глубину, чтобы найти все текстовые узлы, например, , фрагмент HTML и обрезать текстовое содержимое после достижения предела. Но я хотел бы знать, есть ли какой-либо уровень техники. Я пытался найти inte rnet, но мне не повезло. Я нашел алгоритм WordPress , который кажется наивным счетчиком слов.