一个奇怪的现象?求解!!不解!大家帮忙
本人正在做一个网站程序,想给网页做一个换肤的功能,把html代码存入数据库中,然后通过后台可以编辑html代码(在<textarea>和</textarea>中),可是在调出时遇到了一个问题,数据库中有的html代码中也含有<textarea>和</textarea>,这事就出现问题了,网页无法分辨,竟然把要编辑的代码显示出来,而不是在<textarea>中,而真正的</textarea>丢失了,问怎么使该种<testarea>代码在<textarea>中显示代码,而不是页面效果 问题点数:100、回复次数:6Top
1 楼net_lover(【孟子E章】)回复于 2003-11-02 00:41:58 得分 0
asp里有:
<textarea><%=Server.HTMLEncode(rs("content"))%></textarea>
不知道php里是否有类似的方法。
也可以直接自己替换
把<替换成<等Top
2 楼yueok(悦)回复于 2003-11-03 00:07:54 得分 20
将从TEXTAREA中取出的内容用htmlspecialchars算一下就OK了。Top
3 楼mysam(小天下人)回复于 2003-11-03 07:59:18 得分 20
方法又很多,你可以自己写一个替调违法字符的函数,也可以用PHP自带的,如楼上所说,只要在插入数据库之前用函数处理一下就行了!
//剔除非法的字符
function delscript($word)
{
for($j=0;$j<strlen($word);$j++){
if(substr($word,$j,1)=="<")$word=substr($word,0,$j)."<".substr($word,$j+1);
}
for($j=0;$j<strlen($word);$j++){
if(substr($word,$j,1)==">")$word=substr($word,0,$j).">".substr($word,$j+1);
}
for($j=0;$j<strlen($word);$j++){
if(ord(substr($word,$j,1))==13)$word=substr($word,0,$j)."<br>".substr($word,$j+2);
}
return $word;
}Top
4 楼microfire(凝冰&封情)回复于 2003-11-03 20:18:47 得分 20
楼主可以参考以下代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form>
<textarea rows="27" name="test" cols="80">
<?php
$str="<textarea>abc</textarea>";
$str_out=htmlspecialchars($str);
echo $str_out;
?>
</textarea>
</form>
</body>
</html>Top
5 楼ustcfrank(勇敢的心)回复于 2003-11-03 22:08:19 得分 20
htmlspecialcharsTop
6 楼liftblood(毛毛虫)回复于 2003-11-04 00:29:37 得分 20
htmlspecialchars
Top




