簡體   English   中英

為什么 TinyMCE 沒有將我的 html 轉換為他們所見即所得的格式?

[英]Why is TinyMCE not converting my html to their wysiwyg format?

我正在使用 codeigniter 並有一個編輯頁面,在這個頁面上我有一個 TinyMCE 編輯器。 這是我加載 javascript 文件的方式:

<script src='<?php echo site_url('js/tinymce/tinymce.min.js'); ?>'></script>

<script>
tinymce.init({
selector: '.tinymce'
});
</script>

這在添加代碼時效果很好,它顯示為 < p > test </ p >(沒有空格)。

但是,當我編輯頁面時,p 標簽或其他標簽不會轉換為所見即所得,它們只是顯示為 p 標簽(見下圖)。

顯示在所見即所得編輯器中的 p 標簽

源視圖的屏幕截圖

這就是我在 textarea 中獲取數據的方式:

<?php echo form_textarea('body', set_value('body', $page->body), 'class="form-control tinymce" placeholder="Inhoud"'); ?>

set_value 只是將實際內容放入輸入值中。

如果您使用的是 Codeiginter 3,則“set_value()”函數接受第三個參數,即 html 轉義符。 詳情請見: http : //www.codeigniter.com/userguide3/helpers/form_helper.html?highlight=set_value#set_value

所以你應該使用:

<?php echo form_textarea('body', set_value('body', $page->body, false), 'class="form-control tinymce" placeholder="Inhoud"'); ?>

我也在使用以下 tinymce javascript 設置: format: 'raw'

我遇到了同樣的問題,這個解決方案有效。

下次您還應該在 codeigniter 論壇上搜索 - https://forum.codeigniter.com/thread-1035.html

當您在編輯器中編寫任何內容時,它已經用標簽包裹了。 當你想在編輯器中編寫 html 時,

如果該源代碼被禁用,您可以使用以下代碼片段啟用它。 (更多)

tinymce.init({
  selector: "textarea",  // change this value according to your HTML
  plugins: "code",
  toolbar: "code",
  menubar: "tools"
});

在工具 > 源代碼 > 在那里編寫您的 HTML 代碼有一個選項。

在此處輸入圖片說明

如果您使用 {{ $post->body }} 那么相同的數據庫輸出顯示在 html

這是有效的 -> {!! $post->body !!}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM