您的位置:首页 > 其它

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

2017-08-30 14:28 344 查看
$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(' ','',$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;
    } 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: