Измените маркеры уценки на html в Javascript

#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*`))