php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数
第一种:
$content=str_replace("n","",$content);
echo $content;
第二种:
$content=preg_replace("/s/","",$content);
echo $content;
<?php
$str="i am a booknnnnnmoth";
//去除所有的空格和换行符
echo preg_replace("/[s]{2,}/","",$str).'<br>';
//去除多余的空格和换行符,只保留一个
echo preg_replace("/([s]{2,})/","\1",$str);
?>
php 调用google api 地图显示代码
google.load("maps", "2.x");
google.setOnLoadCallback(initialize);
var map = null;
var geocoder = null;
function initialize() {
// 检测IE是否支持 Google Map API
if ( GBrowserIsCompatible() ) {
map = new google.maps.Map2(document.getElementById('map'));
geocoder = new GClientGeocoder();
// 设置地图中心
map.setCenter(new GLatLng(25.036772,121.520269), 12);
} // if
else {
alert('您流量器不支持Google Map');
} // else
}
function showLocation() {
// 清除marker
map.clearOverlays();
var address = document.getElementById('txtAddress').value;
geocoder.getLocations(address, cb_showLocation);
}
function cb_showLocation(result) {
// 显示结果
if (result.Status.code == G_GEO_SUCCESS) {
// 成功
for (var i=0; i<result.Placemark.length; i++) {
var lat = result.Placemark[i].Point.coordinates[1];
// lat
var lng = result.Placemark[i].Point.coordinates[0];
// lng
var address = result.Placemark[i].address; // 地址
var point = new GLatLng(lat,lng);
var marker=new GMarker(point, {title:i+1});;
map.addOverlay(marker);
} // for
} // if
}
var status=[];
status[G_GEO_SUCCESS] = "Success";
status[G_GEO_MISSING_ADDRESS] = "Missing Address";
status[G_GEO_UNKNOWN_ADDRESS] = "Unknown Address";
status[G_GEO_UNAVAILABLE_ADDRESS]= "Unavailable Address";
status[G_GEO_BAD_KEY] = "Bad Key";
status[G_GEO_TOO_MANY_QUERIES] = "Too Many Queries";
status[G_GEO_SERVER_ERROR] = "Server Error";
多款获取用户真IP代码是一款通过php自带的环境变量来判断再取得用户的真实IP地址,好了看看那款适合你吧。
1:
<?php
if(getenv('HTTP_CLIENT_IP')){
$onlineip = getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR')){
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif(getenv('REMOTE_ADDR')){
$onlineip = getenv('REMOTE_ADDR');
}
else{
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo $onlineip;
?>
2:
<?php
function GetIP(){
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip = $_SERVER["HTTP_CLIENT_IP"];
}
elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif(!empty($_SERVER["REMOTE_ADDR"])){
$cip = $_SERVER["REMOTE_ADDR"];
}
else{
$cip = "无法获取!";
}
return $cip;
}
echo GetIP();
?>
3:
<?php
$iipp = $_SERVER["REMOTE_ADDR"];
echo $iipp ;
?>
4:
<?php
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $user_IP
?>
5:
<?php
function get_real_ip()
{
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if($ip){
array_unshift($ips, $ip); $ip = FALSE;
}
for($i = 0; $i < count($ips); $i++){
if (!eregi ("^(10|172.16|192.168).", $ips[$i])){
$ip = $ips[$i];
break;
}
}
}
return($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo get_real_ip();
?>
6:
<?php
error_reporting (E_ERROR | E_WARNING | E_PARSE);
if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"]){
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP")){
$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR")){
$ip = getenv("REMOTE_ADDR");
}
else{
$ip = "Unknown";
}
echo $ip;
?>
我们搞开发时,经常碰到要把一个时间的与另一个时间相加减是吧,下面我来为各位朋友推荐二个php 日期相差天数处理函数吧。
第一种:
<?php
function count_days($a,$b){
$a_dt=getdate($a);
$b_dt=getdate($b);
$a_new=mktime(12,0,0,$a_dt['mon'],$a_dt['mday'],$a_dt['year']);
$b_new=mktime(12,0,0,$b_dt['mon'],$b_dt['mday'],$b_dt['year']);
return round(abs($a_new-$b_new)/86400);
}
//今天与2008年10月11日相差多少天
$date1=strtotime(time());
$date1=strtotime('10/11/2008');
$result=count_days($date1,$date2);
echo $result;
?>
第二种:
<?php
//今天与2008年9月9日相差多少天
$Date_1=date("Y-m-d");
$Date_2="2008-10-11";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d2-$d1)/3600/24);
echo "今天与2008年10月11日相差".$Days."天";
?>
求二两日期之差函数
<?php
$time1 = "2008-6-15 11:49:59";//第一个时间
$time2 = "2007-5-5 12:53:28";//第二个时间
$t1 = strtotime($time1);
$t2 = strtotime($time2);
$t12 = abs($t1-$t2);
$start = 0;
$string = "两个时间相差:";
$y = floor($t12/(3600*24*360));
if($start || $y )
{
$start = 1;
$t12 -= $y*3600*24*360;
$string .= $y."年";
}
$m = floor($t12/(3600*24*31));
if($start || $m)
{
$start = 1;
$t12 -= $m*3600*24*31;
$string .= $m."月";
}
$d = floor($t12/(3600*24));
if($start || $d)
{
$start = 1;
$t12 -= $d*3600*24;
$string .= $d."天";
}
$h = floor($t12/(3600));
if($start || $h)
{
$start = 1;
$t12 -= $h*3600;
$string .= $h."时";
}
$s = floor($t12/(60));
if($start || $s)
{
$start = 1;
$t12 -= $s*60;
$string .= $s."分";
}
$string .= "{$t12}秒";
echo $string;
?>
这是一个求任意时间之差的函数
<?
#作者:仙乐
#功能:获得任意时间与当前时间的时间差
function QueryDays($datestr){
#格式化时间
$da=preg_split("/(-| |:)/i",$datestr);
$nowyear=date("Y");
$nowmon=date("n");
$nowday=date("d");
$nowtimes=mktime(0,0,0,$nowmon,$nowday,$nowyear);
$pdtimes= mktime(0,0,0,$nowmon,$nowday,$nowyear-1);
$bjtimes= mktime(0,0,0,$da[1],$da[2],$da[0]);
#判断所给出的时间是不是在一年内
if ($bjtimes>=$pdtimes and $bjtimes<=$nowtimes){
return (floor(strftime("%j",mktime(0,0,0,$nowmon,$nowday,$nowyear)-mktime($da[3],$da[4],$da[5],$da[1],$da[2],$da[0]))));
}else{
$loop=$nowyear-$da[0];
$totaldays=(floor(strftime("%j",mktime(0,0,0,$nowmon,$nowday,$nowyear)-mktime(0,0,0,1,1,$nowyear))));
for($i=1;$i<=$loop;$i++){
for($j=12;$j>=1;$j--){
if ($da[0]==$nowyear-$i and $da[1]==$j){
$days=MonDays($nowyear-$i,$j);
return $totaldays+=$days-$da[2];
break;
}else{
$days=MonDays($nowyear-$i,$j);
$totaldays+=$days;
}//end else
}//end for
}//end for
}//end else
}//end function
#取得月分的天数
function MonDays($year,$month){
switch ($month){
case "1":
case "3":
case "5":
case "7":
case "8":
case "10":
case "12": $days=31;break;
case "4":
case "6":
case "9":
case "11": $days=30;break;
case "2":
if (checkdate($month,29,$year)){
$days=29;
}else{
$days=28;
}//end else
break;
}//end switch
return $days;
}//end function
$datestr="2002-1-14 9:47:20";
echo QueryDays($datestr);
?>