PHP字符處理函數(shù)的問題總結(jié)
我們在學(xué)習(xí)PHP語言的時候知道,它是一個功能非常強(qiáng)大的計算機(jī)高級語言,那么它的功能體現(xiàn)在哪些地方呢?下面我們就像大家總結(jié)了一些PHP字符處理函數(shù)的相關(guān)問題,供大家學(xué)習(xí)參考。
#t#PHP字符處理函數(shù)1. in_array()函數(shù)
Java代碼
- $zero = "0";
- $za = array("00");
- if(in_array($zero, $za, true)){
- echo 'in';
- }else{
- echo 'not in';
- }
- $zero = "0";
- $za = array("00");
- if(in_array($zero, $za, true)){
- echo 'in';
- }else{
- echo 'not in';
- }
這段代碼應(yīng)該輸出什么?答案是in,而不是not in。
然后測試一下這個:
Java代碼
- $zero = "0";
- $za = array("00");
- if("0" == "00"){
- echo '0 == 00';
- }
- $zero = "0";
- $za = array("00");
- if("0" == "00"){
- echo '0 == 00';
- }
返回'0'=='00'。
所以以后要注意:對于字符串不是說in,就表示那個字符在array里面。
PHP字符處理函數(shù)2. strtolower()函數(shù)
我的解決方式是:
Java代碼
- urldecode(strtolower
(urlendoce($str)));- urldecode(strtolower
(urlendoce($str)));
PHP字符處理函數(shù)3. trim()
如果面對的是英文字符,那么trim()應(yīng)該就滿足了,但是對于中文字符,就應(yīng)該重寫以trim掉全角的空格:
Java代碼
- function cntrim($value){
- return trim(ereg_replace("^(
)*|( )*$","", $value));- }
- function cntrim($value){
- return trim(ereg_replace("^(
)*|( )*$","", $value));- }
PHP字符處理函數(shù)4. empty():
這個就有點(diǎn)像上面那個in_array()了,如果你要判斷一個textarea里面是否有值,不能光使用empty,因為'0'字符串也會返回empty(但奇怪的是'00'就不會返回empty),重寫以應(yīng)對這種情況:
Java代碼
- function non_szero_empty
($value){- return empty($value) &&
$value != '0';- }
- function non_szero_empty
($value){- return empty($value) &&
$value != '0';- }
PHP字符處理函數(shù)5. htmlentities():
與strtolower()類似,htmlentities也會出現(xiàn)一些轉(zhuǎn)義gbk字符的問題,以致出現(xiàn)亂碼。索性這樣替換:
Java代碼
- function _myhtmlentities($value){
- //$value = preg_replace('/&
((#(\d{3,5}|x[a-fA-F0-9]{4})|
[a-zA-Z][a-z0-9]{2,5});)/', '&\\1'
, str_replace(array('&', '"', '< ', '>')
, array('&', '"', '<',
'>'), $value));- $value = str_replace(array('&', '"',
'< ', '>'), array('&', '"',
'<', '>'), $value);- return $value;
- }
- function _myhtmlentities($value){
- //$value = preg_replace('/&((#(
\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-
z0-9]{2,5});)/', '&\\1', str_replace
(array('&', '"', '< ', '>'), array(
'&', '"', '<', '>'), $value));- $value = str_replace(array('&', '"',
'< ', '>'), array('&', '"',
'<', '>'), $value);- return $value;
- }
不過現(xiàn)在還在疑惑為什么htmlentities會出現(xiàn)亂碼,這樣改為什么又可行。計劃有時間看源代碼一探究竟。
以上就是我們這次要向大家介紹的PHP字符處理函數(shù)的全部內(nèi)容。