$cache[$key] = empty($arr) ? NULL : $arr; return $cache[$key]; } // 门户 获取需要在频道显示的栏目主题数据 function portal_channel_thread($fid) { global $forumlist; if (empty($fid)) return NULL; $orderby = array('tid' => 1); $page = 1; // 遍历所有在频道显示内容的栏目 $category_forumlist = channel_category($fid); $arrlist = array(); $forum_tids = array(); $tidlist = array(); if ($category_forumlist) { foreach ($category_forumlist as &$_forum) { // 频道显示数据 $arrlist['list'][$_forum['fid']] = array( 'fid' => $_forum['fid'], 'name' => $_forum['name'], 'rank' => $_forum['rank'], 'type' => $_forum['type'], 'url' => $_forum['url'], 'channel_new' => $_forum['channel_new'], ); $forum_thread = thread_tid__find(array('fid' => $_forum['fid']), $orderby, $page, $_forum['channel_new'], 'tid', array('tid')); // 最新信息按栏目分组 foreach ($forum_thread as $key => $_thread) { $forum_tids[$key] = $_thread; } unset($forum_thread); } $tidlist += $forum_tids; } unset($category_forumlist); // 获取属性对应的tid集合 list($flaglist, $flagtids) = flag_thread_by_fid($fid); empty($flagtids) || $tidlist += $flagtids; unset($flagtids); // 频道置顶 $stickylist = sticky_list_thread($fid); empty($stickylist) || $tidlist += $stickylist; // 在这之前合并所有二维数组 tid值为键/array('tid值' => tid值) $tidarr = arrlist_values($tidlist, 'tid'); // 在这之前使用$tidarr = array_merge($tidarr, $arr)前合并所有一维数组 tid/array(1,2,3) if (empty($tidarr)) { $arrlist['list'] = isset($arrlist['list']) ? array_multisort_key($arrlist['list'], 'rank', FALSE, 'fid') : array(); return $arrlist; } $tidarr = array_unique($tidarr); $pagesize = count($tidarr); // 遍历获取的所有tid主题 $threadlist = well_thread_find_asc($tidarr, $pagesize); // 遍历时为升序,翻转为降序 $threadlist = array_reverse($threadlist); foreach ($threadlist as &$_thread) { // 各栏目最新内容 isset($forum_tids[$_thread['tid']]) AND $arrlist['list'][$_thread['fid']]['news'][$_thread['tid']] = $_thread; // 全站置顶内容 isset($stickylist[$_thread['tid']]) AND $arrlist['sticky'][$_thread['tid']] = $_thread; // 首页属性主题 if (!empty($flaglist)) { foreach ($flaglist as $key => $val) { if (isset($val['tids']) && in_array($_thread['tid'], $val['tids'])) { $arrlist['flaglist'][$key][array_search($_thread['tid'], $val['tids'])] = $_thread; ksort($arrlist['flaglist'][$key]); $arrlist['flag'][$_thread['tid']] = $_thread; } } } } unset($threadlist); if (isset($arrlist['sticky'])) { $i = 0; foreach ($arrlist['sticky'] as &$val) { ++$i; $val['i'] = $i; } } if (isset($arrlist['flag'])) { $i = 0; foreach ($arrlist['flag'] as &$val) { ++$i; $val['i'] = $i; } } if (isset($arrlist['flaglist'])) { foreach ($arrlist['flaglist'] as &$val) { $i = 0; foreach ($val as &$v) { ++$i; $v['i'] = $i; } } } isset($arrlist['list']) AND $arrlist['list'] = array_multisort_key($arrlist['list'], 'rank', FALSE, 'fid'); return $arrlist; } ?>javascript - TinyMCE is adding new line ("n") regardless of apply_source_formatting - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - TinyMCE is adding new line ("n") regardless of apply_source_formatting - Stack Overflow

programmeradmin0浏览0评论

TinyMCE is adding \n as well as paragraph tags to my text. Regardless of the apply_source_formatting settings value.

ie.

Source Text:

<blockquote><div class="cite">Person said:</div><div class="message"><p>ffgfgf</p></div></blockquote>

What TinyMCE Re-formats it to:

<blockquote>\n<div class=\"cite\">Person said:</div>\n<div class=\"message\">\n<p>ffgfgf</p>\n</div>\n</blockquote>\n<p id=\"mce_1\">&nbsp;</p>

How can I get TimyMCE to stop adding new line characters like this? It really messes with the formatting on the other end when the text is submitted.

TinyMCE is adding \n as well as paragraph tags to my text. Regardless of the apply_source_formatting settings value.

ie.

Source Text:

<blockquote><div class="cite">Person said:</div><div class="message"><p>ffgfgf</p></div></blockquote>

What TinyMCE Re-formats it to:

<blockquote>\n<div class=\"cite\">Person said:</div>\n<div class=\"message\">\n<p>ffgfgf</p>\n</div>\n</blockquote>\n<p id=\"mce_1\">&nbsp;</p>

How can I get TimyMCE to stop adding new line characters like this? It really messes with the formatting on the other end when the text is submitted.

Share Improve this question asked May 13, 2016 at 8:28 Douglas GaskellDouglas Gaskell 10k12 gold badges80 silver badges135 bronze badges 2
  • I currently have the same issue. Did you manage to find a solution? – oBusk Commented Sep 13, 2016 at 14:56
  • 1 I don't believe so. I eventually dropped my project. I'll need to go back and see if I ever found a solution or hack for ir. – Douglas Gaskell Commented Sep 13, 2016 at 18:21
Add a comment  | 

1 Answer 1

Reset to default 20

Investigating the source code of TinyMce I've found, that in the Writer.js (now Writer.ts) class, the setting that is checked before inserting \n is called indent.

 /**
 * Writes the a end element such as </p>.
 *
 * @method end
 * @param {String} name Name of the element.
 */
end: function(name) {
    var value;

    html.push('</', name, '>');

    if (indent && indentAfter[name] && html.length > 0) {
        value = html[html.length - 1];

        if (value.length > 0 && value !== '\n') {
            html.push('\n');
        }
    }
},

So adding indent: false to the settings object seems to fix it.

tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  indent: false,
});

From documentation:

This option, which is on by default, adds a newline character — U+000A, \n — between closing and opening block elements when HTML is output using getContent() and when HTML is rendered in the TinyMCE Preview dialog.

Set indent to false to get HTML output from TinyMCE without having any newline characters added.

发布评论

评论列表(0)

  1. 暂无评论