预览模式: 普通 | 列表

连续回车:

PHP代码
  1. $str = "开始 
  2.  
  3. 内容 
  4.  
  5.  
  6. 结束";  
  7. $str = preg_replace("/\s+\r/is""\n"$str);//回车符是\r  
  8. $str = preg_replace("/\s+\r\n/is""\n"$str);//回车符是\r\n  
  9. $str = preg_replace("/\s+\n/is""\n"$str);//回车符是\n  
  10. $str = str_replace("\n",'<br />',$str);  
连续空格:
 
必须是两个或者两个以上才去掉:
PHP代码
  1. $str = "a   b  d\nc";  
  2. echo preg_replace( '#\s{2,}#'''$str ); // output abdc  

去掉所有空白字符:

PHP代码
  1. preg_replace( '#\s#'''$str );  

多个连续空白字符替换成一个空格:

PHP代码
  1. preg_replace( '#\s+#'' '$str );  

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 536

php正则判断字符串是否含有中文

 

PHP代码
  1. <?php  
  2.   
  3. $str = '若你安好便是晴天';  
  4. if (preg_match('/^[\x{4e00}-\x{9fa5}]+$/u'$str)>0) {  
  5.     echo '全是中文';  
  6. else if(preg_match('/[\x{4e00}-\x{9fa5}]/u'$str)>0) {  
  7.     echo '含有中文';  
  8. else {  
  9.     echo '没有包含中文';  
  10. }  
  11.   
  12. ?>  

 

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 417

 

PHP代码
  1. <?php  
  2. date_default_timezone_set('PRC'); //默认时区  
  3. echo "今天:",date("Y-m-d",time()),"<br>";  
  4. echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"<br>";  
  5. echo "昨天:",date("Y-m-d",strtotime("-1 day")),"<br>";  
  6. echo "明天:",date("Y-m-d",strtotime("+1 day")),"<br>";  
  7. echo "一周后:",date("Y-m-d",strtotime("+1 week")),"<br>";  
  8. echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "<br>";  
  9. echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")),"<br>";  
  10. echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<br>";  
  11. echo "一个月前:".date("Y-m-d",strtotime("last month"))."<br>";  
  12. echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."<br>";  
  13. echo "十年后:".date("Y-m-d",strtotime("+10 year"))."<br>";  
  14. ?>  
PHP代码
  1. //strtotime可以接受第二个参数,类型timestamp,为指定日期  
  2. echo date('Y-m-d'strtotime ("+1 day"strtotime('2011-11-01'))),"\n";  
PHP代码
  1. <?php  
  2. echo "今天:",date('Y-m-d H:i:s'),"<br>";//输出当前时间  
  3. echo "明天:",date('Y-m-d H:i:s',strtotime('+1 day'));//输出明天时间  
  4. //这里+1 day 可以修改参数1为任何想需要的数  day也可以改成year(年),month(月),hour(小时),minute(分),second(秒)  
  5. //如:  
  6. date('Y-m-d H:i:s',strtotime("+1 day +1 hour +1 minute");  
  7. ?>  

注:该方法之针对1970年以后试用,也就是时间戳的适用范围。

PHP代码
  1. <?php  
  2. //下面这些代码是一些常用的日期处理函数了,可以两个时间的日期加减,两日期之差,日期转换时间截等。  
  3. echo date('Y-m-d',strtotime('+1 d',strtotime('2009-07-08')));//日期天数相加函数  
  4. echo date("Y-m-d",'1246982400');  
  5. echo '<br>';  
  6. echo date("Y-m-d",'1279123200');  
  7. die();  
  8. $d   =   "2009-07-08 10:19:00";  
  9. echo   date("Y-m-d",strtotime("$d   +1   day"));   //日期天数相加函数  
  10. function dateToTime($d){//把日期转换成时间堆截  
  11.     $year=((int)substr("$d",0,4));//取得年份  
  12.     $month=((int)substr("$d",5,2));//取得月份  
  13.     $day=((int)substr("$d",8,2));//取得几号  
  14.     return mktime(0,0,0,$month,$day,$year);  
  15.     }  
  16. $Date_1="2009-07-08";  
  17. echo $Date_1+1;  
  18. $Date_2="2009-06-08";  
  19. $Date_List_a1=explode("-",$Date_1);  
  20. $Date_List_a2=explode("-",$Date_2);  
  21. $d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);  
  22. $d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);  
  23. $Days=round(($d1-$d2)/3600/24);  
  24. echo "两日期之前相差有$Days 天";  
  25. ?>  

转自:http://blog.sina.com.cn/s/blog_a53b62810101b3d2.html

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 312

php高效遍历目录文件及子目录

 

PHP代码
  1. <?php  
  2. //递归方式  
  3. function read_dir($dir){  
  4.     $files=array();  
  5.     $dir_list=scandir($dir);  
  6.     foreach($dir_list as $file){  
  7.         if($file!='..' && $file!='.'){  
  8.             if(is_dir($dir.'/'.$file)){  
  9.                 $files[]=read_dir($dir.'/'.$file);  
  10.             }else{  
  11.                 $files[]=$file;  
  12.             }  
  13.         }  
  14.     }  
  15.     return $files;  
  16. }  
  17. //队列方式   
  18. function read_dir_queue($dir){  
  19.     $files=array();  
  20.     $queue=array($dir);  
  21.     while($data=each($queue)){  
  22.         $path=$data['value'];  
  23.         if(is_dir($path) && $handle=opendir($path)){  
  24.             while($file=readdir($handle)){  
  25.                 if($file=='.'||$file=='..'continue;  
  26.                 $files[] = $real_path=$path.'/'.$file;  
  27.                 if (is_dir($real_path)) $queue[] = $real_path;  
  28.             }  
  29.         }  
  30.         closedir($handle);  
  31.     }  
  32.      return $files;  
  33. }  
  34. print_r(read_dir_queue('D:/webroot/suanfa/dir'));exit;  

如果目录很多,推荐队列方式,递归方式会慢,慢的原因:递归的实现是通过调用函数本身,函数调用的时候,每次调用时要做地址保存,参数传递等

Tags: php

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 314

 广告位

↑返回顶部↑