轉義符的一點總結
發表于:2007-07-14來源:作者:點擊數:
標簽:
最近在寫bbs中,遇上代碼轉換問題。尋找了很久,才得到一個比較完善的解決辦法,可以徹底還原發文者的原文。 以下貼出,供大家指正。 系統: linux + php 4+ oracle 8i ? //--標題,名字等字段入庫處理(去首尾空格) function trans_string_trim($str) { $str=
最近在寫bbs中,遇上代碼轉換問題。尋找了很久,才得到一個比較完善的解決辦法,可以徹底還原發文者的原文。
以下貼出,供大家指正。
系統:
linux+
php4+
oracle8i
<?
//--標題,名字等字段入庫處理(去首尾空格)
function trans_string_trim($str) {
$str=trim($str);
$str=eregi_replace("'","''",$str);
$str=stripslashes($str);
return $str;
}
//--文章入庫處理,即textarea字段;
function trans_string($str) {
$str=eregi_replace("'","''",$str);
$str=stripslashes($str);
return $str;
}
//--從庫中顯示在表單中;在text中以trans轉換,在textarea中,無需轉換,直接顯示
//--顯示在WEB頁面,過濾HTML代碼;包括鏈接地址
function trans($string) {
$string=htmlspecialchars($string);
$string=ereg_replace(chr(10),"<br>",$string);
$string=ereg_replace(chr(32)," ",$string);
return $string;
}
//--顯示在WEB頁面,不過濾HTML代碼;
function trans_web($string) {
$string=ereg_replace(chr(10),"<br>",$string);
$string=ereg_replace(chr(32)," ",$string);
return $string;
}
//--顯示在WEB頁面,過濾HTML代碼及頭尾空格,主要用于顯示用戶昵稱
function trans_trim($string) {
$string=trim($string);
$string=htmlspecialchars($string);
$string=ereg_replace(chr(10),"<br>",$string);
$string=ereg_replace(chr(32)," ",$string);
return $string;
}
//--顯示在span中;
function trans_span($string) {
$string=ereg_replace(chr(10),"\n",$string);
$string=ereg_replace(chr(32)," ",$string);
$string=ereg_replace('"',""",$string);
return $string;
}
//--在WEB上顯示cookie,過濾html
function trans_cookie($str) {
$str=trans($str);
$str=stripslashes($str);
$str=eregi_replace("''","'",$str);
return $str;
}
?>
---------------------------
最后,順帶補充一點,如果在span中顯示文章中的一段,采用substr取定長字符串時,記得在span的參數后面多加一個空格,否則遇上截到半個漢字時,會搞亂html代碼。
原文轉自:http://www.anti-gravitydesign.com