主题: 编辑器代码解析问题,求解
作者: KernelA, 发布日期: 2012-10-09 11:48:06, 浏览数: 2568

原始内容

<pre class="brush: html">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
&lt;title&gt;Images&lt;/title&gt;
&lt;script type="text/javascript" src="jquery-1.7.1.min.js"&gt;&lt;/script&gt; 
但是到了编辑器后,内容就会被解析出来。编程<!DOCTYPE html ...> <html><body>...等等内容

我想要的效果是和原始内容的效果一致。

请问怎么解决这个问题

作者: lilv7214, 发布日期: 2012-10-09 12:02:54
求解,我也碰到这个问题
回复
作者: 小浪子, 发布日期: 2012-10-09 12:03:46
回复lilv7214:你程序问题。没有使用编码。
回复
作者: KernelA, 发布日期: 2012-10-09 12:36:37
回复小浪子:请详细解释一下
回复
作者: lilv7214, 发布日期: 2012-10-09 13:49:37
回复小浪子:能否详细说一下,如何编码,我使用的是php
回复
作者: 小浪子, 发布日期: 2012-10-09 13:51:20

回复lilv7214:
是添加的时候出现的吗?如果是。你试试这里:
http://www.kindsoft.net/ke4/examples/filter-mode.html

如果是修改。
php应该自带那种函数吧。或者是被反转了。

回复
作者: lilv7214, 发布日期: 2012-10-09 14:02:28

回复小浪子:

 

<?php $navigation = x6cmstp_navigation(18);?>
  <?php foreach ($navigation as $item): ?>
  <li><a href="<?=$item['url']?>"><?=$item['title']?></a></li>
  <?php endforeach; ?>

插入的是以上这个代码

 

编辑提交后,页面编码这样的

<p>
&lt;?php $navigation = x6cmstp_navigation(18);?&gt;<br />
&lt;?php foreach ($navigation as $item): ?&gt;<br />
&lt;li&gt;&lt;a href="&lt;?=$item['url']?&gt;"&gt;&lt;?=$item['title']?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endforeach; ?&gt;
</p>
但是在编辑器中无法将这些显示出来。
 
而且,刚试了一下,不用插入程序代码,也会出现在编辑器中不显示的情况

 

回复
作者: lilv7214, 发布日期: 2012-10-09 14:05:00

补充一下:只要不提交就没事,提交保存到数据库后,再显示到编辑器中就出现这种情况,而且比较了一下,提交前后提交后,源代码基本一样,不差一个字符

回复
作者: 小浪子, 发布日期: 2012-10-09 14:07:58

回复lilv7214:那就不清楚。我不懂php。不过刚才把你的代码复制到编辑器。在html模式下。

会被转换。。

你看下:官方示例php文件夹里面的:demo.php

<?php
	$htmlData = '';
	if (!empty($_POST['content1'])) {
		if (get_magic_quotes_gpc()) {
			$htmlData = stripslashes($_POST['content1']);
		} else {
			$htmlData = $_POST['content1'];
		}
	}
?>
<!doctype html>
<html>
<head>
	<meta charset="utf-8" />
	<title>KindEditor PHP</title>
	<link rel="stylesheet" href="../themes/default/default.css" />
	<link rel="stylesheet" href="../plugins/code/prettify.css" />
	<script charset="utf-8" src="../kindeditor.js"></script>
	<script charset="utf-8" src="../lang/zh_CN.js"></script>
	<script charset="utf-8" src="../plugins/code/prettify.js"></script>
	<script>
		KindEditor.ready(function(K) {
			var editor1 = K.create('textarea[name="content1"]', {
				cssPath : '../plugins/code/prettify.css',
				uploadJson : '../php/upload_json.php',
				fileManagerJson : '../php/file_manager_json.php',
				allowFileManager : true,
				afterCreate : function() {
					var self = this;
					K.ctrl(document, 13, function() {
						self.sync();
						K('form[name=example]')[0].submit();
					});
					K.ctrl(self.edit.doc, 13, function() {
						self.sync();
						K('form[name=example]')[0].submit();
					});
				}
			});
			prettyPrint();
		});
	</script>
</head>
<body>
	<?php echo $htmlData; ?>
	<form name="example" method="post" action="demo.php">
		<textarea name="content1" style="width:700px;height:200px;visibility:hidden;"><?php echo htmlspecialchars($htmlData); ?></textarea>
		<br />
		<input type="submit" name="button" value="提交内容" /> (提交快捷键: Ctrl + Enter)
	</form>
</body>
</html>

 

回复
作者: lilv7214, 发布日期: 2012-10-09 14:10:11

回复小浪子:

谢了,估计就是这个原因!找老久了,呵呵!!万分感谢!

回复
作者: 小浪子, 发布日期: 2012-10-09 14:14:10
回复lilv7214:客气。。.
回复
作者: KernelA, 发布日期: 2012-10-09 14:26:23

终于解决问题。在此拜谢。

解决方法:

将输出内容是用php函数htmlspecialchars($str)进行编码一下

回复
作者: 小浪子, 发布日期: 2012-10-09 14:47:22
回复KernelA:
回复
发表新帖 发表回复