PHP字符处理函数的问题总结
创始人
2024-06-13 10:10:25
0次

我们在学习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代码

  1. $zero = "0";   
  2. $za = array("00");   
  3. if("0" == "00"){   
  4. echo '0 == 00';   
  5. }   
  6. $zero = "0";  
  7. $za = array("00");  
  8. if("0" == "00"){  
  9. echo '0 == 00';  
  10. }  

返回'0'=='00'。

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

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

我的解决方式是:

Java代码

  1. urldecode(strtolower
    (urlendoce($str)));   
  2. urldecode(strtolower
    (urlendoce($str)));  

 

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

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

Java代码

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

 

PHP字符处理函数4. empty():

这个就有点像上面那个in_array()了,如果你要判断一个textarea里面是否有值,不能光使用empty,因为'0'字符串也会返回empty(但奇怪的是'00'就不会返回empty),重写以应对这种情况:

Java代码

  1. function non_szero_empty
    ($value){   
  2. return empty($value) && 
    $value != '0';   
  3. }   
  4.  
  5. function non_szero_empty
    ($value){  
  6. return empty($value) &&
     $value != '0';  
  7. }  

 

PHP字符处理函数5. htmlentities():

与strtolower()类似,htmlentities也会出现一些转义gbk字符的问题,以致出现乱码。索性这样替换:

Java代码

  1. function _myhtmlentities($value){   
  2. //$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));   
  3. $value = str_replace(array('&', '"', 
    '< ', '>'), array('&', '"', 
    '<', '>'), $value);   
  4. return $value;   
  5. }   
  6. function _myhtmlentities($value){  
  7. //$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));  
  8. $value = str_replace(array('&', '"', 
    '< ', '>'), array('&', '"', 
    '<', '>'), $value);  
  9. return $value;  
  10. } 

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

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

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...