Я создаю блог (и остальную часть сайта), используя Python и Flask . Сообщения в блоге написаны в Markdown и преобразованы в HTML с использованием креативно названного Markdown в Python . Уценка (для будущего редактирования) и HTML (для отображения) хранятся в базе данных.
Я хочу иметь возможность автоматически получать первые 300 символов текста (или 500, или 200 - я не определил число) для использования на страницах, когда я не хочу показать полный пост в блоге (как на первой странице). Однако проблема в том, что любой простой способ сделать это потенциально оставит меня с неверным HTML или Markdown :
HTML:
<p><em>Here</em> is <strong>formatted</strong> text.</p>
Если я получу первые десять символов этого, это оставит меня на полпути через в формате , и мне как-то понадобится закрыть теги <strong>
и <p>
.
уценка:
*Here* is **formatted** text.
Аналогично, для получения первых десяти символов мне придется закрыть **
для жирного шрифта.
Есть ли какой-нибудь способ, которым я могу сделать это без необходимости писать анализатор HTML или Markdown? Или мне лучше было бы просто преобразовать HTML в простой текст?