Markdown в HTML · Шаг 2 из 4
Жирный, курсив и код
Внутри строки Markdown выделяет слова звёздочками: в двух звёздочках — жирный, в одной — курсив, в обратных кавычках — код. В HTML это теги <strong>, <em> и <code>. А ещё строку надо обезопасить: знак < в тексте браузер примет за начало тега.
Что сделать
Переделайте выделение в строке в теги HTML, а знаки < > & — в безопасные коды.
Что приходит
stroka— строка текста заметки
Что вернуть
Строку HTML: **жирный** → <strong>, *курсив* → <em>, `код` → <code>; &, <, > — &, <, >.
Допишите функцию vydelit в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Утилита пропускает через vydelit текст каждого абзаца, пункта списка и заголовка. Решите шаг — и на странице появятся жирный, курсив и код, а знак < в заметке перестанет ломать страницу.
vydelit("Это **важно**, а это *просто так*")
'Это <strong>важно</strong>, а это <em>просто так</em>'
Порядок такой.
- Строка делится на куски кода — от обратной кавычки до следующей, хотя бы один знак внутри, — и всё остальное.
- Кусок кода: внутри заменить
&,<,>на&,<,>и обернуть в<code>…</code>вместо кавычек. Звёздочки внутри кода остаются звёздочками. - Остальное: сначала те же три замены, потом
**текст**→<strong>текст</strong>, потом*текст*→<em>текст</em>.
Выделение — самое короткое: **а** и **б** — два жирных слова, а не одно. Текст выделения не может начинаться и кончаться пробелом: в 2 * 3 * 4 звёздочки — знаки умножения, и строка не меняется. Звёздочка без пары тоже остаётся как есть. Кавычки " не заменяются.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.