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程序设计有所帮助。