一般富文本编辑器保存的文章排版都是添加了跟多html或者css代码保存到数据库的,为就是后台预言可以直接从数据库中取出来放到html页面显示那些样式和排版,此时后台读取到带有html标记的数据应该是交给JavaScript,使用JavaScript的一些方法将数据展现在页面上输出。
工具原料:jQuery、编辑器、浏览器
1、首先假设后台读取到的数据通过ajax传给了前端的JavaScript,JavaScript获取的数据后使用html方法将其输出在页面的某个标签中,在这里我们使用模拟数据来代替数据的传输过程,代码如下:
<body><script src="libs/jquery/2.1.4/jquery.js"></script>
<div id="div1">
</div>
<script>
var data="<font color='red'>测试数据</font>"//带有html标签的测试数据
$('#div1').html(data)//通过html()方法将数据输出到div中
</script>
</body>
2、运行的效果如下图:
stringstr=
HttpUtility.HtmlEncode("要输出的HTML")
这样,当输出到页面上str的时候,就不会显示成页面!而是字符串
如:string
str="<table
widht='500'><tr><td>aaa</td></tr></table>"
如果直接输出str的话,页面上则会出现一个宽为500px的
table
如果使用string
str
=
HttpUtility.HtmlEncode("<table
widht='500'><tr><td>aaa</td></tr></table>")
则会原样的输出<table
widht='500'><tr><td>aaa</td></tr></table>
其实在html页面中,之所以会把你写的不想转换的html标签也转换了,就是因为标签中的<和>,只要你把这两个符号用代码替代掉,页面加载的时候就不会对这段代码解析了,在打开页面后就会出现你想要的效果,例子如下:<pre>
<body>
a
</body>
</pre>
其中,<表示<,>表示>,其实>也可以不用替换,只要html页面加载时找不到<,>符号就不会起作用
<pre>标签主要是为了保留标签内部的格式(空格和换行符)用的,这样就不需要再使用其他的换行和空格符号格式化文本了