php实用代码片段整理
本文整理归纳了php实用代码片段。分享给大家供大家参考,具体如下:
一从网页中提取关键词
$meta=get_meta_tags('https://www.nhooo.com/'); $keywords=$meta['keywords']; //Splitkeywords $keywords=explode(',',$keywords); //Trimthem $keywords=array_map('trim',$keywords); //Removeemptyvalues $keywords=array_filter($keywords); print_r($keywords);
二查找页面上的所有链接
使用DOM,你可以在任意页面上抓取链接,示例如下。
$html=file_get_contents('http://www.example.com'); $dom=newDOMDocument(); @$dom->loadHTML($html); //graballtheonthepage $xpath=newDOMXPath($dom); $hrefs=$xpath->evaluate("/html/body//a"); for($i=0;$i<$hrefs->length;$i++){ $href=$hrefs->item($i); $url=$href->getAttribute('href'); echo$url.'<br/>'; }
三创建数据URI
数据URI可以帮助将图像嵌入到HTML/CSS/JS中,从而节省HTTP请求。下面的函数可以利用$file创建数据URI。
functiondata_uri($file,$mime){ $contents=file_get_contents($file); $base64=base64_encode($contents); echo"data:$mime;base64,$base64"; }
四下载和保存远程图片到你的服务器
当你在搭建网站时,很可能会从远程服务器上下载图片保存到你自己的服务器上,下面的代码就可以帮助你实现这个功能。
$image=file_get_contents('http://www.php100.com/image.jpg'); file_put_contents('/images/image.jpg',$image);//Wheretosavetheimage
五移除MicrosoftWordHTML标签
当你使用MicrosoftWord时,会创建很多标签tag,比如font、span、style、class等,这些标签在Word中十分有用,但当你从Word中把文本粘贴到网页上,就会出现很多没用的标签。下面实用的函数可以帮助你清除所有的WordHTML标签。
functioncleanHTML($html){ /// ///RemovesallFONTandSPANtags,andallClassandStyleattributes. ///Designedtogetridofnon-standardMicrosoftWordHTMLtags. /// //startbycompletelyremovingallunwantedtags $html=ereg_replace("<(/)?(font|span|del|ins)[^>]*>","",$html); //thenrunanotherpassoverthehtml(twice),removingunwantedattributes $html=ereg_replace("<([^>]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>]+)([^>]*)>","<\1>",$html); $html=ereg_replace("<([^>]*)(class|lang|style|size|face)=("[^"]*"|'[^']*'|[^>]+)([^>]*)>","<\1>",$html); return$html }
六检测浏览器语言
如果你的网站是多种语言的,下面的代码可以帮助你检测浏览器语言,它会返回客户端浏览器的默认语言。
functionget_client_language($availableLanguages,$default='en'){ if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){ $langs=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']); foreach($langsas$value){ $choice=substr($value,0,2); if(in_array($choice,$availableLanguages)){ return$choice; } } } return$default; }
七保存请求信息到本地
file_put_contents('/tmp/all.log','mapping'.date("m-dH:i:s")."\n",FILE_APPEND);
八excel相互转换日期
//如果去获取某个excel日期(格式为:2016-03-12),那么获取到的是数字,需要经过转换才能恢复 publicfunctionexcelTime($date,$time=false){ if(function_exists('GregorianToJD')){ if(is_numeric($date)){ $jd=GregorianToJD(1,1,1970); $gregorian=JDToGregorian($jd+intval($date)-25569); $date=explode('/',$gregorian); $date_str=str_pad($date[2],4,'0',STR_PAD_LEFT) ."-".str_pad($date[0],2,'0',STR_PAD_LEFT) ."-".str_pad($date[1],2,'0',STR_PAD_LEFT) .($time?"00:00:00":''); return$date_str; } }else{ //$date=$date>25568?$date+1:25569; /*TherewasabugifConvertingdatebefore1-1-1970(tstamp0)*/ $ofs=(70*365+17+2)*86400; $date=date("Y-m-d",($date*86400)-$ofs).($time?"00:00:00":''); return$date; } }
九json与数据相互转换
1json转换成数组
$json='[{"id":"22","name":"33","descn":"44"}]';//json格式的数组转换成php的数组 $arr=(Array)json_decode($json); echo$arr[0]->id;//用对象的方式访问(这种是没有转换成数组,而是转换成对象的情况
2数组转换成json
$json_arr=array('WebName'=>'11','WebSite'=>'11'); $php_json=json_encode($json_arr);//把php数组格式转换成json格式的数据 echo$php_json;
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。