Markdown标签转义问题

问题描述

俺最近在写《从零开始学WEB前端》写到H5+C3的时候放了一个H5最新标签的时候俺放了一个表格。最开始还没觉得有啥问题,可是后来再看的时候,就出现了下面的情况。

image-20220220184950703

我的标签都没出现,我以为是我复制到时候没有复制好,因为我是先在typora里写好markdown再复制到CSDN的。之后我便打开我的个人博客去看了一下,好家伙,原来直接渲染了。

image-20220220185718993

问题分析

要想弄清楚这个问题,首先我们得先了解一下一些关于markdown的知识。

Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及本身的 .md 格式的文件。因简洁、高效、易读、易写,Markdown被大量使用,如Github、Wikipedia、简书等。

——《markdown官方文档》

对于 Markdown 涵盖范围之外的标签,都可以直接在文件里面用 HTML 本身。如需使用 HTML,不需要额外标注这是 HTML 或是 Markdown,只需 HTML 标签添加到 Markdown 文本中即可。

——《Markdown 内嵌 HTML 标签》

最关键的地方在这里,markdown是可以渲染HTML标签的,所以现在问题原因就找到了。CSDN因为安全的原因所以对于标签的渲染有限制,所以就没让那些标签显示出来。

image-20220220190051706

解决办法

其实这个问题解决起来很简单,首先我们先回顾一下转义字符的知识。

转义字符(Escape character),所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加”"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

——百度百科

我们知道在\n表示换行,但是有时候我们可能就想输出一个字符串就叫\n,这怎么办呢,我们直接写的话就会渲染直接换行,达不到我们输出的效果。这个问题的核心就在于如何让\不生效。

其实很简单\\用两个反斜杠就表示一个\这个时候\\n就会显示出\n而不会渲染换行了。

所以再回到我们标签的问题上来,我们只需要在标签前面加上\反斜杠就可以解决问题了。

image-20220220190921805

nice,问题完美解决image-20220220191050376

image-20220220191029583

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2021-2022 John Doe
  • 访问人数: | 浏览次数:

请我喝瓶快乐水吧~