markdown 格式的文本,如何过滤掉markdown标签,生成纯文本?

类似 php 的strip_tag函数功能。主要用于生成文章的描述文本。

忘了说,要求用php转换。

阅读 10.5k
5 个回答

没有现成直接转换的,不过先转成html再过滤掉html标签可以满足你的需求么?

没看到有这样现成的库,因为这个功能点还是挺奇葩的。markdown格式文本的控制字符本来就很少,为什么还要变呢?

如果真的要变,其实也很简单啊,一般markdown转html都是用正则表达式的,去除markdown格式字符用正则表达式非常简单啊。

利用正则表达式替换可以

那肯定是直接从生成的html文件获取最方便咯。在前端生成的html在id为divid的元素里面的话直接document.getElementById("divid").innerText就可以了。

今天碰到一样的问题,我的解决办法跟楼上某个答案说的一样,用正则表达式去除markdown的格式就好了,只需要匹配控制字符.
假设有文章列表界面,posts存着title和content

var reg = /[\\\`\*\_\[\]\#\+\-\!\>]/g;
posts.forEach(post => function () {
    post.shortContent = post.content.replace(reg, "");
    console.log(post.contents);
    console.log(post.shortContents);
}());

这样应该就能得到一个纯文本了。
不过可能没有针对 < 这种做处理,所以还要进一步考虑下啦 :)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏