首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >summernote渲染嵌入推文

summernote渲染嵌入推文
EN

Stack Overflow用户
提问于 2019-09-21 12:52:21
回答 1查看 319关注 0票数 0

我有推文,我想显示它就像在我的网站上嵌入一条推文,但每当我粘贴夏季笔记中的嵌入推文时,它就会呈现为不同的类型,如下所示。

原始嵌入代码

代码语言:javascript
复制
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">It’s all about the details. Now you can rearrange your photos while writing a Tweet. <a href="#">pic.twitter.com</a></p>&mdash; Twitter (@Twitter) <a href="https://twitter.com/Twitter/status/1171560988874891264?ref_src=twsrc%5Etfw">September 10, 2019</a></blockquote>

呈现的代码

代码语言:javascript
复制
<twitter-widget class="twitter-tweet twitter-tweet-rendered" id="twitter-widget-0" style="position: static; visibility: visible; display: block; transform: rotate(0deg); max-width: 100%; width: 500px; min-width: 220px; margin-top: 10px; margin-bottom: 10px;" data-tweet-id="1171560988874891264"></twitter-widget>

有人知道这件事吗?

EN

回答 1

Stack Overflow用户

发布于 2019-09-21 13:34:43

这不是summernote的问题,这个问题是twitter脚本会在脚本加载时自动将blockquote标签转换为twitter-widget

因此您必须存储两个版本summernote内容,一个直接在编辑器上预览(已转换为twitter-widget),另一个原始版本将存储到数据库中。

我使用下面的函数解决了这个问题:

代码语言:javascript
复制
convertTwitterSource(content) {
      let oldTwitterTags = this.rawContent.match(
        /<blockquote .*?>.*?<\/blockquote>/gi
      )

      if (oldTwitterTags) {
        oldTwitterTags.map(tag => {
          content = content.replace(
            /<twitter-widget .*?>.*?<\/twitter-widget>/i,
            tag
          )
        })
      }
      return content
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58037370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档