日期:2014-05-18  浏览次数:20760 次

菜鸟提问 数据库存入的HTML标签 如何还原显示出来
紧急啊   大家帮我解决下吧

从编辑器传入(JSP)数据的东西全变了   比如 <P> 标签变成了   &lt;P&gt;
如何在从数据库里面读出显示在网页上时还原  
用JS可以实现吗

但是由于从数据库取出的代码   代码本身有换行   好像用JS替换的时候就失效了

    <script   language= "javascript "   type= "text/javascript ">
    var   str=( ' <%=sNews.ShowNews(ID)%> ');// <%=sNews.ShowNews(ID)%> 输出的代码不是一行
str   =   str.replace(/&lt;/ig, " < ");
str   =   str.replace(/&gt;/ig, "> ");
str   =   str.replace(/&quot;/ig, "\ " ");
str   =   str.replace(/&apos;/ig, "\ ' ");
str   =   str.replace(/&amp;/ig, "& ");
                                    document.write(str);
   
    </script>

浏览器错误提示为  
Line:93
Char:34
Code:0
Error:未结束的字符串常量
网址:http://127.0.0.1:8080/train/ShowNews.jsp?NewsID=432

生成的代码为:

<script   language= "javascript "   type= "text/javascript ">
    var   str=( ' <div   id= "ShowNews ">
<div   id= "Pos "> <a   title= "同济培训   首页 "   href= "index.jsp "> 首页 </a> <img   src= "pic/pos.gif "   border=0> <a   title= "新闻公告 "   href= "ReadClass.jsp?BigClassID=1 "> 新闻公告 </a> <img   src= "pic/pos.gif "   border=0> <a   title= "最新通告 "   href= "ReadSClass.jsp?SClassID=37 "> 最新通告 </a> <img   src= "pic/pos.gif "   border=0> 爱死 </div>
<div   id= "Content ">
<div   id= "Title "> 爱死 </div>
<div   id= "info "> 发布时间:2007-5-29   16:43:20&nbsp;新闻来源:撒旦非&nbsp;发布人:撒旦非&nbsp; </div>
<div   id= "NewsContent "> &lt;P&gt;&lt;STRONG&gt;CI机房计算机使用指南V1.0&lt;/STRONG&gt;   &lt;/P&gt;
&lt;P&gt;一、系统磁盘说明   CI教研室机房所有计算机经过规划后将分为四个盘,分别C~F。各盘各施其职,请用户按照说明配合使用,谢谢合作。   C:系统盘,请用户不要将软件安装于此盘   D:程序盘,用户安装软件请安装于本盘   E:用户文件,用户的文件请储存于本盘。包括用户文件、软件等,但不要储存MP3文件,MP3文件统一储存于Z盘。下文将详细介绍。  
&lt;HR&gt;
_LICENSE_FILE项改为1055@username(网络名)   4.5   运行FLEXlm   LMTOOLS   Utility,选择Start/Stop/Reread,
&lt;MARQUEE   behavior=slide&gt;飞得更高&lt;/MARQUEE&gt;正常使用,则可以重复以上步骤。或者重装ANSYS   FLEXlm   License   Manager,Ansys程序可不重装。   5、映射服务器\\Cserver\E$\歌曲   为Z盘,Musicmatch音乐播放软件的音乐库按照映射路径建立,Z盘将成为用户音乐库。&lt;/P&gt; </div>
</div>
</div>
');
str   =   str.replace(/&lt;/ig, " < ");
str   =   str.replace(/&gt;/ig, "> ");
str   =   str.replace(/&quot;/ig, "\ " ");
str   =   str.replace(/&apos;/ig, "\ ' ");
str   =   str.replace(/&amp;/ig, "& ");
    document.write(str);
   
</script>
   



------解决方案--------------------
你必须把换行符替换成 <br>

<%
String s = sNews.ShowNews(ID);
s = s.replaceAll( "\r ", " <br> "); <