当前位置:   article > 正文

关于如何转换MarkDown文本并在Html内进行显示

关于如何转换MarkDown文本并在Html内进行显示

        今天遇到一个问题,从ChatGpt的API获取的文本格式为MarkDown,在HTML上使用textarea控件显示的时候就只是文字格式,并没有对MarkDown格式进行处理,今天就分享一下如何在Html上进行MarkDown格式文本的显示

        1.创建一个HTML页面,包括textarea和一个用于显示Markdown内容的div:

        

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Textarea to Markdown</title>
  7. <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
  8. </head>
  9. <body>
  10. <textarea style="font-size: 20px; width: 300px; height: 800px;" id="responseBox" name="responseBox" rows="4" cols="150" readonly>

       2.将文本输入到div控件的.innerHTML属性上

  1. Example Markdown
  2. This is an example of Markdown text.
  3. Item 1
  4. Item 2
  5. </textarea>
  6. <button onclick="convertToMarkdown()">Convert to Markdown</button>
  7. <div id="markdownDisplay"></div>
  8. php
  9. Copy code
  10. <script>
  11. function convertToMarkdown() {
  12. var text = document.getElementById('responseBox').value;
  13. var markdownContent = marked(text);
  14. document.getElementById('markdownDisplay').innerHTML = markdownContent;
  15. }
  16. </script>
  17. </body>
  18. </html>

        3.代码解释

  • textarea 元素用于输入或显示文本内容。
  • button 元素用于触发转换操作。
  • div 元素用于显示转换后的Markdown内容。
  • 使用JavaScript读取 textarea 的内容,并使用 marked 库将其转换为Markdown HTML,然后在 div 中显示。

        在这里面使用的 https://cdn.jsdelivr.net/npm/marked/marked.min.js为MarkDown解释器的解析文件地址,如果无法使用有以下几种解决方式,我用的第一种,但是将地址更改了,CDN的解析地址可以自己再找一下,我是以下这个

    <script src="https://unpkg.com/marked@13.0.2/marked.min.js"></script>

        方法一:通过CDN引入

        在HTML文件的 <head> 标签中添加以下脚本标签,从CDN加载 marked 库:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Textarea to Markdown</title>
  7. <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
  8. </head>
  9. <body>
  10. <textarea style="font-size: 20px; width: 300px; height: 800px;" id="responseBox" name="responseBox" rows="4" cols="150" readonly>
  11. # Example Markdown
  12. This is an example of **Markdown** text.
  13. - Item 1
  14. - Item 2
  15. </textarea>
  16. <button onclick="convertToMarkdown()">Convert to Markdown</button>
  17. <div id="markdownDisplay"></div>
  18. <script>
  19. function convertToMarkdown() {
  20. var text = document.getElementById('responseBox').value;
  21. var markdownContent = marked(text);
  22. document.getElementById('markdownDisplay').innerHTML = markdownContent;
  23. }
  24. </script>
  25. </body>
  26. </html>

方法二:使用npm安装(适用于Node.js项目)

        1.首先,通过npm安装 marked

npm install marked

        2.然后,在你的JavaScript文件中引入 marked

  1. const marked = require('marked');
  2. // 示例代码
  3. function convertToMarkdown() {
  4. var text = document.getElementById('responseBox').value;
  5. var markdownContent = marked(text);
  6. document.getElementById('markdownDisplay').innerHTML = markdownContent;
  7. }

方法三:下载并本地引入

  • markedGitHub仓库 下载 marked.min.js 文件。

  • marked.min.js 文件放置在你的项目文件夹中,例如 js 文件夹。

  • 在HTML文件的 <head> 标签中添加本地路径的脚本标签:

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <title>Textarea to Markdown</title>
    7. <script src="js/marked.min.js"></script>
    8. </head>
    9. <body>
    10. <textarea style="font-size: 20px; width: 300px; height: 800px;" id="responseBox" name="responseBox" rows="4" cols="150" readonly>
    11. # Example Markdown
    12. This is an example of **Markdown** text.
    13. - Item 1
    14. - Item 2
    15. </textarea>
    16. <button onclick="convertToMarkdown()">Convert to Markdown</button>
    17. <div id="markdownDisplay"></div>
    18. <script>
    19. function convertToMarkdown() {
    20. var text = document.getElementById('responseBox').value;
    21. var markdownContent = marked(text);
    22. document.getElementById('markdownDisplay').innerHTML = markdownContent;
    23. }
    24. </script>
    25. </body>
    26. </html>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/907066
推荐阅读
相关标签
  

闽ICP备14008679号