常用的正则表达式去重、匹配img标签、13位时间戳

$content : 当前的文章
$order :全部匹配


function parseImgs($content,$order='all')
{ 
    $pattern='/<img.*?src="(.*?)".*?>/is';  
    preg_match_all($pattern,$content,$match); 
    if(isset($match[1])&&!empty($match[1])){
        if($order==='all'){
            return [
            	'exists' => 'y' ,   //图片是否存在 
		        'url' => $match[1]    //存在对应的URL
            ];//$match[1];
        }
        if(is_numeric($order)&&isset($match[1][$order])){
            return [
            	'exists' => 'y' ,   //图片是否存在 
		        'url' => $match[1][$order]    //存在对应的URL
            ];//return $match[1][$order];
        }
    }
    return [
    	'exists' => 'n' ,   //图片是否存在 
		 'url' => []    //存在对应的URL
    ];
}
//去除重复的值
function array_unique_list($arr) {
   
    $ar = array_map('serialize', $arr);
    $ar = array_unique($ar);
    return array_map('unserialize', $ar);
}
//13位时间戳
function Millisecond($time){
	list($msec ,$sec) =  explode ( " " ,  microtime ());
	$millisecond = intval($msec*1000) + $sec*1000;
	return $millisecond;
}
function generateCode()
{
	//生成只有大写字母和数字
	$chars = '0123456789';//所有字符的集合
	$len = 6;//码值的总长度
	$chars_length = strlen($chars);//字符串长度
	
	$code = '';//初始化码值
	for($i=1; $i<=$len; ++$i){//循环生成4个随机下标
		$rand_index = mt_rand(0, $chars_length-1);//得到0到长度-1之间的任意随机数 
		$code .= $chars[$rand_index];//索引下标的字符串访问形式,拼凑码值
		return $code;
}
	//日期换算
   function china_year($numYear){ 
		$china_era = array('0'=>'庚','1'=>'辛','2'=>'壬','3'=>'癸','4'=>'甲','5'=>'乙','6'=>'丙','7'=>'丁','8'=>'戊','9'=>'己');
		$china_branch = array('0'=>'申','1'=>'酉','2'=>'戌','3'=>'亥','4'=>'子','5'=>'丑','6'=>'寅','7'=>'卯','8'=>'辰','9'=>'巳','10'=>'午','11'=>'未');
		$lastNum = mb_strcut($numYear, -1);
		$remainder = $numYear%12;
		$chinaYear = $china_era[$lastNum].$china_branch[$remainder].'年';
		return $chinaYear;
	}
	
	//数组排序
	function list_sort_by($list,$field, $sortby='asc') {
	   if(is_array($list)){
	       $refer = $resultSet = array();
	       foreach ($list as $i => $data)
	           $refer[$i] = &$data[$field];
	       switch ($sortby) {
	           case 'asc': // 正向排序
	                asort($refer);
	                break;
	           case 'desc':// 逆向排序
	                arsort($refer);
	                break;
	           case 'nat': // 自然排序
	                natcasesort($refer);
	                break;
	       }
	       foreach ( $refer as $key=> $val)
	           $resultSet[] = &$list[$key];
	       return $resultSet;
	   }
	   return false;
  }
	//对数组$arr按照$keys进行排序,$type排序方式(asc或desc),$num返回多少项
    function arraySort($arr,$keys,$type,$num){
    	$keysvalue = $new_array = array();
    	foreach ($arr as $k=>$v){
    		$keysvalue[$k] = $v[$keys];
    	}
    	if($type == 'asc'){
    		asort($keysvalue);
    	}else{
    		arsort($keysvalue);
    	}
    	reset($keysvalue);
    	$i =0;
    	foreach ($keysvalue as $k=>$v){
    		$new_array[$i] = $arr[$k];
    		if ($i<$num){
    			$i++;
    		}else{
    			break;
    		}
    	}
    	return $new_array;
    } 
 //获取文章内的图片地址
    function getPicFromString($string)
    {
    	$pic = '';
    	$string = stripslashes($string);
    	$string = preg_replace("/\<img src=\".*?image\/face\/(.+?).gif\".*?\>\s*/is", '', $string);	//移除表情符
    	preg_match_all("/<[img|IMG].*?src\=[\"\'](.*?)[\"\']/i", $string, $mathes);
    	if(!empty($mathes[1]) || !empty($mathes[2])){
    		$pic_arrays = array();
    		$pic = $mathes[0];
    		foreach ($pic as $key){
    			preg_match_all("/src\=[\"\'](.*?)[\"\']/i", substr($key,5), $picture);
    			$pic_arrays[] = $picture[1][0];
    		}
    		$pic_array['exists']="y";
    		$pic_array['url']=$pic_arrays;
		}else{
    		$pic_array['exists']="n";
    	}
    	return $pic_array;
    }
	 //去空格
    function delBlank($str)
    {
        $str = str_replace('&nbsp;','',$str); 
        $str = preg_replace("/\s(?=\s)/", '', $str);
        $str = preg_replace("/[\n\r\t]/", '', $str);
        $str = preg_replace("/ /","",$str);
        $str = preg_replace("/  /","",$str);  //匹配html中的空格
        return trim($str); //返回字符串
    	
    }
    
    //去HTML标签
    function delLabel($string)
    {
    	$body = preg_replace("/<(.*?)>/", '', $string);
    	return $body;
    } 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值