#javascript #html #markdown
Вопрос:
На данный момент у меня есть функция
export function markdownToHtml(mdText) { const toHTML = mdText .replace(/^### (.*$)/gim, "lt;h3gt;$1lt;/h3gt;") // h3 tag .replace(/^## (.*$)/gim, "lt;h2gt;$1lt;/h2gt;") // h2 tag .replace(/^# (.*$)/gim, "lt;h1gt;$1lt;/h1gt;") // h1 tag .replace(/**(.*)**/gim, "lt;bgt;$1lt;/bgt;") // bold text .replace(/*(.*)*/gim, "lt;igt;$1lt;/igt;") // italic text .replace(/[(.*?)]((.*?))/gim, "lt;a href='$2'gt;$1lt;/agt;") // link return toHTML.trim() // using trim method to remove whitespace }
где я анализирую некоторые стили уценки в HTML, но мне не хватает регулярного выражения для анализа маркированных пунктов.
есть Идеи? (лучше не использовать зависимость)
Комментарии:
1. Как не использовать модуль/зависимость лучше? Проблема уже будет решена.
2. «Пропал без вести»? Куда он делся? В чем конкретно проблема? Обратите внимание, что если вы хотите, чтобы это был хороший HTML, вам также нужно будет повторить и поместить элементы списка в реальный список. Когда вы имеете дело с уценкой, «не использовать зависимость» не лучше. Это сложнее, чем ты думаешь.
Ответ №1:
Что-то вроде этого?
Он не заворачивается в UL
function markdownToHtml(mdText) { const toHTML = mdText.split("n").map(text =gt; text .trim() // using trim method to remove whitespace .replace(/^### (.*$)/i, "lt;h3gt;$1lt;/h3gt;") // h3 tag .replace(/^## (.*$)/i, "lt;h2gt;$1lt;/h2gt;") // h2 tag .replace(/^# (.*$)/i, "lt;h1gt;$1lt;/h1gt;") // h1 tag .replace(/^* (.*$)/i, "lt;ligt;$1lt;/ligt;") // lt;ligt; tag .replace(/**(.*)**/i, "lt;bgt;$1lt;/bgt;") // bold text .replace(/*(.*)*/i, "lt;igt;$1lt;/igt;") // italic text .replace(/*(.*)*/i, "lt;igt;$1lt;/igt;") // italic text .replace(/[(.*?)]((.*?))/i, "lt;a href='$2'gt;$1lt;/agt;")) // link return toHTML.join("n") } console.log(markdownToHtml(`### Titlen* *Bold bullet*`))