我们在学习PHP字符处理函数1. in_array()函数
Java代码
这段代码应该输出什么?答案是in,而不是not in。
然后测试一下这个:
Java代码
<ol class="dp-xml"> <li class="alt"><span><span>$</span><span class="attribute">zero</span><span> = </span><span class="attribute-value">"0"</span><span>; </span></span></li> <li> <span>$</span><span class="attribute">za</span><span> = </span><span class="attribute-value">array</span><span>("00"); </span> </li> <li class="alt"><span>if("0" == "00"){ </span></li> <li> <span>echo '</span><span class="attribute">0</span><span> == 00'; </span> </li> <li class="alt"><span>} </span></li> <li> <span>$</span><span class="attribute">zero</span><span> = </span><span class="attribute-value">"0"</span><span>; </span> </li> <li class="alt"> <span>$</span><span class="attribute">za</span><span> = </span><span class="attribute-value">array</span><span>("00"); </span> </li> <li><span>if("0" == "00"){ </span></li> <li class="alt"> <span>echo '</span><span class="attribute">0</span><span> == 00'; </span> </li> <li><span>} </span></li> </ol>
返回'0'=='00'。
所以以后要注意:对于字符串不是说in,就表示那个字符在array里面。
PHP字符处理函数2. strtolower()函数
我的解决方式是:
Java代码
<ol class="dp-xml"> <li class="alt"> <span><span>urldecode(strtolower<br></span></span><span><span>(urlendoce($str))</span></span><span><span>); </span></span> </li> <li><span>urldecode(strtolower<br>(urlendoce($str))); </span></li> </ol>
PHP字符处理函数3. trim()
如果面对的是英文字符,那么trim()应该就满足了,但是对于中文字符,就应该重写以trim掉全角的空格:
Java代码
<ol class="dp-xml"> <li class="alt"><span><span>function cntrim($value){ </span></span></li> <li><span>return trim(ereg_replace("^(<br> )*|( )*$","", $value)); </span></li> <li class="alt"><span>} </span></li> <li><span> </span></li> <li class="alt"><span>function cntrim($value){ </span></li> <li><span>return trim(ereg_replace("^( <br>)*|( )*$","", $value)); </span></li> <li class="alt"><span>} </span></li> </ol>
PHP字符处理函数4. empty():
这个就有点像上面那个in_array()了,如果你要判断一个textarea里面是否有值,不能光使用empty,因为'0'字符串也会返回empty(但奇怪的是'00'就不会返回empty),重写以应对这种情况:
Java代码
<ol class="dp-xml"> <li class="alt"><span><span>function non_szero_empty<br>($value){ </span></span></li> <li><span>return empty($value) && <br>$value != '0'; </span></li> <li class="alt"><span>} </span></li> <li><span> </span></li> <li class="alt"><span>function non_szero_empty<br>($value){ </span></li> <li><span>return empty($value) &&<br> $value != '0'; </span></li> <li class="alt"><span>} </span></li> </ol>
PHP字符处理函数5. htmlentities():
与strtolower()类似,htmlentities也会出现一些转义gbk字符的问题,以致出现乱码。索性这样替换:
Java代码
<ol class="dp-xml"> <li class="alt"><span><span>function _myhtmlentities($value){ </span></span></li> <li> <span>//$</span><span class="attribute">value</span><span> = </span><span class="attribute-value">preg_replace</span><span>('/&<br>((#(d{3,5}|x[a-fA-F0-9]{4})|<br>[a-zA-Z][a-z0-9]{2,5});)/', '&\1'<br>, str_replace(array('&', '"', '</span><span class="tag"><</span><span> ', '</span><span class="tag">></span><span>')<br>, array('&', '"', '</span><span class="tag"><</span><span>', <br>'</span><span class="tag">></span><span>'), $value)); </span> </li> <li class="alt"> <span>$</span><span class="attribute">value</span><span> = </span><span class="attribute-value">str_replace</span><span>(array('&', '"', <br>'</span><span class="tag"><</span><span> ', '</span><span class="tag">></span><span>'), array('&', '"', <br>'</span><span class="tag"><</span><span>', '</span><span class="tag">></span><span>'), $value); </span> </li> <li><span>return $value; </span></li> <li class="alt"><span>} </span></li> <li><span>function _myhtmlentities($value){ </span></li> <li class="alt"> <span>//$</span><span class="attribute">value</span><span> = </span><span class="attribute-value">preg_replace</span><span>('/&((#(<br>d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-<br>z0-9]{2,5});)/', '&\1', str_replace<br>(array('&', '"', '</span><span class="tag"><</span><span> ', '</span><span class="tag">></span><span>'), array(<br>'&', '"', '</span><span class="tag"><</span><span>', '</span><span class="tag">></span><span>'), $value)); </span> </li> <li> <span>$</span><span class="attribute">value</span><span> = </span><span class="attribute-value">str_replace</span><span>(array('&', '"', <br>'</span><span class="tag"><</span><span> ', '</span><span class="tag">></span><span>'), array('&', '"', <br>'</span><span class="tag"><</span><span>', '</span><span class="tag">></span><span>'), $value); </span> </li> <li class="alt"><span>return $value; </span></li> <li><span>} </span></li> </ol>
不过现在还在疑惑为什么htmlentities会出现乱码,这样改为什么又可行。计划有时间看源代码一探究竟。
以上就是我们这次要向大家介绍的PHP字符处理函数的全部内容。