PHP字符处理函数的问题总结

开发 后端
PHP字符处理函数是PHP语言中庞大函数体系中的一种,我们今天要向大家介绍的包括:in_array()函数;strtolower()函数;trim();empty()和 htmlentities()函数。

我们在学习PHP语言的时候知道,它是一个功能非常强大的计算机高级语言,那么它的功能体现在哪些地方呢?下面我们就像大家总结了一些PHP字符处理函数的相关问题,供大家学习参考。

#t#PHP字符处理函数1. in_array()函数

Java代码

  1. $zero = "0";   
  2. $za = array("00");   
  3. if(in_array($zero, $za, true)){   
  4. echo 'in';   
  5. }else{   
  6. echo 'not in';   
  7. }  
  8. $zero = "0";  
  9. $za = array("00");  
  10. if(in_array($zero, $za, true)){  
  11. echo 'in';  
  12. }else{  
  13. echo 'not in';  
  14. }  

这段代码应该输出什么?答案是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';  
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

返回'0'=='00'。

所以以后要注意:对于字符串不是说in,就表示那个字符在array里面。

PHP字符处理函数2. strtolower()函数

我的解决方式是:

Java代码

urldecode(strtolower
(urlendoce($str)));    urldecode(strtolower
(urlendoce($str)));  
  • 1.
  • 2.
  • 3.
  • 4.

 

PHP字符处理函数3. trim()

如果面对的是英文字符,那么trim()应该就满足了,但是对于中文字符,就应该重写以trim掉全角的空格:

Java代码

function cntrim($value){   
return trim(ereg_replace("^(
 )*|( )*$","", $value));   
}      function cntrim($value){   return trim(ereg_replace("^( 
)*|( )*$","", $value));  
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

 

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';  
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

 

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('&amp;', '&quot;', '
&lt;', 
'
&gt;'), $value));    $value = str_replace(array('&', '"', 
'
< ', '>'), array('&amp;', '&quot;', 
'
&lt;', '&gt;'), $value);    return $value;    }    function _myhtmlentities($value){   //$value = preg_replace('/&amp;((#(
\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-
z0-9]{2,5});)/', '&\\1', str_replace
(array('&', '"', '
< ', '>'), array(
'&amp;', '&quot;', '
&lt;', '&gt;'), $value));   $value = str_replace(array('&', '"', 
'
< ', '>'), array('&amp;', '&quot;', 
'
&lt;', '&gt;'), $value);   return $value;  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

不过现在还在疑惑为什么htmlentities会出现乱码,这样改为什么又可行。计划有时间看源代码一探究竟。

以上就是我们这次要向大家介绍的PHP字符处理函数的全部内容。

责任编辑:曹凯 来源: javaeye
相关推荐

2009-11-17 10:55:02

PHP字符串处理函数

2009-12-07 16:44:45

PHP图形处理函数

2009-12-01 10:38:08

PHP字符串函数

2009-11-24 09:55:44

PHP字符串函数

2009-12-03 19:23:15

PHP处理会话函数

2009-11-26 14:14:06

PHP中文处理工具函数

2009-11-27 11:19:11

PHP打印函数

2012-08-09 09:11:32

PHP超时

2009-12-18 09:52:40

Ruby字符串处理函数

2009-12-11 17:39:47

PHP String函

2009-12-11 17:45:09

PHP Math函数

2009-11-25 09:56:06

PHP数组处理函数

2009-12-02 20:29:30

PHP常用函数

2009-11-16 16:59:03

PHP构造函数

2009-11-16 15:32:05

PHP数组函数

2015-07-06 09:52:40

2024-07-29 10:46:50

2016-06-28 11:28:11

2009-12-03 15:13:51

PHP开发中问题

2009-12-08 16:19:21

PHP函数pack
点赞
收藏

51CTO技术栈公众号