PHP中有哪些字符處理函數,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
PHP字符處理函數1. in_array()函數
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';
}
這段代碼應該輸出什么?答案是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字符處理函數2. strtolower()函數
我的解決方式是:
Java代碼
urldecode(strtolower
(urlendoce($str)));urldecode(strtolower
(urlendoce($str)));
PHP字符處理函數3. trim()
如果面對的是英文字符,那么trim()應該就滿足了,但是對于中文字符,就應該重寫以trim掉全角的空格:
Java代碼
function cntrim($value){
return trim(ereg_replace("^(
)*|( )*$","", $value));}
function cntrim($value){
return trim(ereg_replace("^(
)*|( )*$","", $value));}
PHP字符處理函數4. empty():
這個就有點像上面那個in_array()了,如果你要判斷一個textarea里面是否有值,不能光使用empty,因為'0'字符串也會返回empty(但奇怪的是'00'就不會返回empty),重寫以應對這種情況:
Java代碼
function non_szero_empty
($value){return empty($value) &&
$value != '0';}
function non_szero_empty
($value){return empty($value) &&
$value != '0';}
PHP字符處理函數5. htmlentities():
與strtolower()類似,htmlentities也會出現一些轉義gbk字符的問題,以致出現亂碼。索性這樣替換:
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;
}
看完上述內容,你們掌握PHP中有哪些字符處理函數的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。