js 格式转换

 

function userDate(uData){
	var myDate = new Date(uData*1000);
	var year = myDate.getFullYear();
	var month = myDate.getMonth() + 1;
	var day = myDate.getDate();
	return year + '-' + month + '-' + day;
}
var _d=userDate(1485014400);
console.log(_d);

MySQL 存储html页面或图片

MySQL

使用blob,可以避免同一页面中含有多个编码问题。

public function actionIndex()
	{
       
            $m_img = new Img();
            $url="http://news.qq.com/";
            $curl=curl_init($url);
            curl_setopt($curl, CURLOPT_FAILONERROR, true);
            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

            $info=curl_exec($curl);
            $curl_info=curl_getinfo($curl);
            //var_dump($curl_info);
            $content_type=$curl_info['content_type'];
            curl_close($curl);
            
	          $m_img->setAttributes(array(
	        							'img_url'=>$url,
                        'img_info'=>$info,
	        							));
	          $re = $m_img->save();



          
	}

    public function actionInfo()
    {
         $data=Mod::app()->db->createCommand()->select ('img_info')
                                              ->from('img')
                                              ->where('id=:id',array(':id'=>25))
                                              ->queryScalar();
        //Content-type 可根据curl_info获取
        header("Content-type: text/html; charset=GB2312" );                                        
        echo $data;
    }
CREATE TABLE `img` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `img_url` varchar(255) NOT NULL DEFAULT '',
  `img_info` mediumblob NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 COMMENT='img_store';

正则表达式

http://deerchao.net/tutorials/regex/regex.htm

<?php

preg_match_all("'<\s*a\s.*?href\s*=\s*	       # find <a href=
	       ([\"\'])?		       # find single or double quote
	       (?(1) (.*?)\\1 | ([^\s\>]+))    # if quote found, match up to next matching
					       # quote, otherwise match up to next space
	      'isx",$document,$links);

说明
.*?
懒惰限定符
(?(1) (.*?)\\1 | ([^\s\>]+))
(?(group)yes|no) 如果堆栈上存在以名为group的捕获内容的话,继续匹配yes部分的表达式,否则继续匹配no部分
[^\s\>]+

有时需要查找不属于某个能简单定义的字符类的字符。比如想查找除了数字以外,其它任意字符都行的情况,这时需要用到反义:
如:
[^x] 匹配除了x以外的任意字符
<a[^>]+>匹配用尖括号括起来的以a开头的字符串。