一段时间自己写留言板的程序,涉及到textarea中特殊字符的处理。
既要保留textarea中用户输入的空格和回车,也要屏蔽掉html代码。
对于这个textarea的文字主要用在三个地方:
1
2
3 再次显示在textarea中
入库的时候使用了char_textarea和htmlspecialchars这两个函数
下面就这三个地方使用写了三个函数
-
- //入库的时候处理textarea里的字符,比如回车空格
-
function char_textarea($msg_area){ -
$msg_area = str_replace(chr(13),"[br]",$msg_area); -
$msg_area = str_replace(chr(32),"[nbsp]",$msg_area); -
return $msg_area; -
- }
-
- //输出到网页时候使用,转换HTML非法字符
-
function char_show_textarea($msg_area){ -
//$msg_area = str_replace("<","<",$msg_area); -
//$msg_area = str_replace(">",">",$msg_area); -
//$msg_area = str_replace(""",chr(34),$msg_area);//双引号 -
//$msg_area = str_replace("'",chr(39),$msg_area);//单引号 -
//$msg_area = str_replace(" ",chr(32)&chr(32),$msg_area);//空格 -
$msg_area = str_replace(" ",chr(9),$msg_area);//tab键值 -
$msg_area = str_replace("[br]","<br>",$msg_area);//换行 -
$msg_area = str_replace("[nbsp]"," ",$msg_area);//空格 -
//$msg_area = str_replace(chr(13),"<br>\r\n",$msg_area);//回车 -
return $msg_area; -
} -
- //再次调入textarea中编辑时使用
-
function char_edit_textarea($msg_area){ -
$msg_area = str_replace("[br]",chr(13),$msg_area); -
$msg_area = str_replace("[nbsp]",chr(32),$msg_area); -
return $msg_area; -
} -