typescript 如何在Javascript中使用markDownParser将字符串转换为HTML标记

yftpprvb  于 2023-02-05  发布在  TypeScript
关注(0)|答案(1)|浏览(144)

我正在开发一个应用程序,我实现了一个简单的程序,它可以将简单的文本转换为HTML,例如,用户输入**### header**,然后它将返回**<h3>header</h3>**。我面临的问题是,每当我输入一些带有空格的字符串时,它对我不起作用。下面是示例

function markdownParser(markdown) {
  const htmlText = markdown
    .replace(/^# (.*$)/gim, '<h1>$1</h1>')
    .replace(/^## (.*$)/gim, '<h2>$1</h2>')
    .replace(/^### (.*$)/gim, '<h3>$1</h3>')
    .replace(/^#### (.*$)/gim, '<h4>$1</h4>')
    .replace(/^##### (.*$)/gim, '<h5>$1</h5>')
    .replace(/^###### (.*$)/gim, '<h6>$1</h6>')
 return htmlText.trim() 
}

如果通过,#### Muhammad Kamran不会返回<h4>Muhammad Kamran</h4>

wbgh16ku

wbgh16ku1#

通过在表达式中包含\s,可以修改replace方法中的正则表达式,使其与带有空格的模式匹配。

function markdownParser(markdown) {
  const htmlText = markdown
    .replace(/^#\s(.*)$/gim, '<h1>$1</h1>')
    .replace(/^##\s(.*)$/gim, '<h2>$1</h2>')
    .replace(/^###\s(.*)$/gim, '<h3>$1</h3>')
    .replace(/^####\s(.*)$/gim, '<h4>$1</h4>')
    .replace(/^#####\s(.*)$/gim, '<h5>$1</h5>')
    .replace(/^######\s(.*)$/gim, '<h6>$1</h6>')
  return htmlText.trim(); 
}

我希望能有所帮助

相关问题