PHP字符处理函数的问题总结
程序员文章站
2022-06-12 10:52:48
...
我们在学习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;
- }
不过现在还在疑惑为什么htmlentities会出现乱码,这样改为什么又可行。计划有时间看源代码一探究竟。
以上就是我们这次要向大家介绍的PHP字符处理函数的全部内容。
上一篇: Oracle EM Grid Control 安装小技巧
下一篇: MySQL error 2002: error establishing connection to database_MySQL
推荐阅读
-
php 字符串分割函数的总结
-
php通过explode()和list()函数实现字符串的截取
-
几个常用的php字符串比较函数用法汇总
-
PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题 - 心中的飞梦
-
CSV文件导入mysql PHP处理CSV表格文件的常用操作方法总结
-
php字符转码解决新浪抓取资料乱码的问题
-
PHP为表单获取的URL 地址预设 http 字符串函数代码_PHP教程
-
PHP处理会话函数大总结,php会话函数_PHP教程
-
php中的字符编码转换函数用法示例,php示例_PHP教程
-
Python内置的字符串处理函数整理