你在客户端提交的时候就进行验证:
<script language=javascript>
function coder(str)
{
var s = "";
if (str.length == 0) return "";
for (var i=0; i<str.length; i++)
{
switch (str.substr(i,1))
{
case "<" : s += "<"; break;
case ">" : s += ">"; break;
case "&" : s += "&"; break;
case " " : s += " "; break;
case "\"" : s += """; break;
case "\n" : s += "<br>"; break;
default : s += str.substr(i,1); break;
}
}
return s;
}
</script>
这样提交上来的值就是完全转换了HTML代码,且又保持了输入格式.
<script language=javascript>
function coder(str)
{
var s = "";
if (str.length == 0) return "";
for (var i=0; i<str.length; i++)
{
switch (str.substr(i,1))
{
case "<" : s += "<"; break;
case ">" : s += ">"; break;
case "&" : s += "&"; break;
case " " : s += " "; break;
case "\"" : s += """; break;
case "\n" : s += "<br>"; break;
default : s += str.substr(i,1); break;
}
}
return s;
}
</script>
这样提交上来的值就是完全转换了HTML代码,且又保持了输入格式.
将特殊字元转成 HTML 格式。语法: string htmlspecialchars(string string);传回值: 字串函式种类: 资料处理
内容说明
本函式将特殊字元转成 HTML 的字串格式 ( &....; )。最常用到的场合可能就是处理客户留言的留言版了。
& (和) 转成 &
" (双引号) 转成 "
< (小于) 转成 <
> (大于) 转成 >
此函式只转换上面的特殊字元,并不会全部转换成 HTML 所定的 ASCII 转换。
使用范例
这是 [email protected] (27-Jan-1999) 所提供的范例<FORM ACTION=bla>
<H2>Restaurant Description<H2>
Name of restaurant:
<INPUT TYPE=text NAME="restname" VALUE="<?
echo HTMLSpecialChars($restname); ?>">
<!-- 变数 $restname 是酱子的 $restname="\"The White Horse\""; -->
<BR>
输入描述 (若您会 HTML,可直接使用): <BR>
<TEXTAREA NAME="descript"><?
echo HTMLSpecialChars($descript);
?></TEXTAREA>
<INPUT TYPE=submit>
</FORM>
$content=nl2br(strip_tags($content));