【问题标题】:Display images inside summernote from db in laravel在laravel中的db中显示summernote中的图像
【发布时间】:2020-11-29 03:48:39
【问题描述】:

我正在开发一个 laravel 项目,该项目应该从数据库中获取主页内容(HTML 内容)并将其显示在 Summernote 富文本编辑器中。 Summernote 可以很好地显示我的 HTML 内容,但不显示图像。在检查summernote中显示的代码时,它已将/字符替换为“”。如果直接粘贴在 textarea 中而不是从 dB 中获取,则会显示相同的图像。我尝试了一些在网上和 stackoverflow 上找到的解决方案,但它们对我不起作用。

 $(document).ready(function() {
  $('#summernote').summernote(
      {
        tabsize: 2,
        height: 400
      });
});
<form method="post">
                <div>
                    <textarea class="summernote" id="summernote" name="editordata"><div class="row-iconbox our-support-block">
                  {!!$cms_home->homepage_content!!}
                    </textarea>
                </div>
</form>

【问题讨论】:

    标签: laravel rich-text-editor summernote


    【解决方案1】:

    深入挖掘 / 字符被 "" 替换,MySQL 在存储或更新时将 \ 放在每个 " 之前,因此在从数据库加载 HTML 内容时找不到图像地址。

    示例 HTML

    <img src="/storage/img/icon1.svg" height="100" width="100"/>
    

    以 dB 存储后的 HTML 内容

    <img src=\"/storage/img/icon1.svg\" width=\"100\" height=\"100\" />
    

    解决方案

    1.检查 UTF 编码

    在终端打开Mysql,将DATABASE_NAME、TABLE_NAME分别替换为你的db_name和table_name。

    SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA WHERE CCSA.collation_name = T.table_collation AND T.table_schema = "DATABASE_NAME" AND T.table_name = "TABLE_NAME";
    

    2。如果Encoding不是utf8,把数据库和表改成utf8编码

    see how to do this

    3.将此代码以 HTML 格式添加到您的 &lt;head&gt;

     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    

    【讨论】:

      猜你喜欢
      • 2016-12-20
      • 2017-12-11
      • 2021-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-31
      • 2015-10-19
      相关资源
      最近更新 更多