標籤:style io ar os 使用 sp strong on bs
一、幾個與特殊字元處理有關的PHP函數
函數名 |
釋義 |
介紹 |
htmlspecialchars |
將與、單雙引號、大於和小於符號化成HTML格式 |
&轉成& "轉成" ‘ 轉成' <轉成< >轉成> |
htmlentities() |
所有字元都轉成HTML格式 |
除上面htmlspecialchars字元外,還包括雙位元組字元顯示成編碼等。 |
|
|
|
addslashes |
單雙引號、反斜線及NULL加上反斜線轉義 |
被改的字元包括單引號 (‘)、雙引號 (")、反斜線 backslash (\) 以及Null 字元NULL。 |
stripslashes |
去掉反斜線字元 |
去掉字串中的反斜線字元。若是連續二個反斜線,則去掉一個,留下一個。若只有一個反斜線,就直接去掉。 |
|
|
|
quotemeta |
加入引用符號 |
將字串中含有 . \\ + * ? [ ^ ] ( $ ) 等字元的前面加入反斜線 "\" 符號。 |
nl2br() |
將換行字元轉成<br> |
|
strip_tags |
去掉HTML及PHP標記 |
去掉字串中任何 HTML標記和PHP標記,包括標記封堵之間的內容。注意如果字串HTML及PHP標籤存在錯誤,也會返回錯誤。 |
mysql_real_escape_string |
轉義SQL字串中的特殊字元 |
轉義 \x00 \n \r 空格 \ ‘ " \x1a,針對多位元組字元處理很有效。mysql_real_escape_string會判斷字元集,mysql_escape_string則不用考慮。 |
其它字串處理函數,請參考:知識分 享:PHP常用字串正則替換及剖分函數比較。
PHP常用正則匹配函數間的區別,主要有str_replace、str_ireplace、substr_replace、preg_replace、preg_match、preg_match_all、preg_quote、preg_split、ereg_replace、eregi_replace、preg_replace、str_split,當然其中有幾個不能使用Regex,但因為跟相關正則函數關係曖昧所以都放到一起比較一下,方便參考。
名稱 |
支援正則 |
特點 |
備忘 |
str_replace |
X |
字串替換函數,大小寫敏感 |
|
str_ireplace |
X |
字串替換函數,大小寫不敏感,支援數組式批量替換 |
感謝網友franci,提醒添加 |
substr_replace |
X |
部分替換字串函數,可以指定位置index |
|
|
|
|
|
preg_replace |
Y |
指定匹配模式進行替換,支援子串引用 |
優先使用 |
ereg_replace |
Y |
指定匹配模式進行替換,大小寫敏感,支援子串引用 |
|
eregi_replace |
Y |
指定匹配模式進行替換,大小寫不敏感,支援子串引用 |
|
|
|
|
|
ereg |
Y |
指定模式全文匹配,可以用來匹配判斷,或返回匹配數組 |
|
preg_match |
Y |
指定模式比對一次退出,可以用來是否匹配判斷,或使用返回的匹配數組 |
優先使用 |
preg_match_all |
Y |
指定模式全文匹配,一般用來使用返回的匹配數組 |
優先使用 |
|
|
|
|
preg_split |
Y |
指定匹配模式下正則剖分,如果能用最好還是使用explode或str_split |
|
str_split |
X |
指定長度剖分字串,預設單個字元剖分成數組 |
|
explode |
X |
可以指定單個或多個字元剖分字串,成功則返回數組,例如12345按照34剖分則返回12和5 |
|
|
|
|
|
preg_quote |
- |
轉義Regex字元,意思就是為特殊字元加上反斜線,Regex的特殊字元包括:. + * ? [ ^ ] $ ( ) { } = ! < > | : - |
|
|
|
|
|
補充說明:
1、在PHP中有兩套Regex函數庫,功能非常相似:
一套是POSIX(Portable Operating System Interface of Unix )庫提供的,函數以ereg_首碼命名,POSIX正則函數庫目前已經不再推薦使用。
一套是PCRE(Perl Compatible Regular Expression)庫提供的,函數以preg_首碼命名,推薦大家優先使用。在PCRE中,通常將模式運算式(即Regex)包含在兩個反斜線“/”之間,如“/^w+$/”樣式。
2、PHPRegex作用:匹配提取、匹配替換。
PHP對錶單提交特殊字元的過濾和處理