我在做自己网页时,想从http://www.cz88.net/ip/viewip468.aspx网页中截取所在城市的字符,显示在自己网页中。例如:http://www.cz88.net/ip/viewip468.aspx网页中显示的是:你的IP 222.212.175.226 四川省成都市 电信ADSL
操作系统 Windows XP , IE 6.0 我只想在我的网页上某处显示:“成都”二字。而其他城市,显示我自己写的一段文字。
由于水平限制,我仅能看懂htm、js、css.
操作系统 Windows XP , IE 6.0 我只想在我的网页上某处显示:“成都”二字。而其他城市,显示我自己写的一段文字。
由于水平限制,我仅能看懂htm、js、css.
<?
$url = "http://sina.com.cn ";
$start_str= ' <!--此部分为新浪首页要闻区内容--> ';
$end_str= ' </ul> ';
//$start_str= ' <!-- 博客图文 begin --> ';
//$end_str= ' <!-- 博客图文 end --> ';
echo get_link($url,$start_str,$end_str); function get_link($url,$start,$end)
{
$content = file_get_contents($url);
$start_position=strpos($content,$start);
$content=substr($content,$start_position);
$start_position=strpos($content, "> ")+1;
$end_position=strpos($content,$end);
$length=$end_position-$start_position;
$content=substr($content,$start_position,$length);
return $content;
}
?>
能否修改成我想要那种?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//ZH-CN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="UTF-8"/>
<title>weather</title>
<script type="text/javascript">
var xmlHttp;
function createXmlHttp()
{
if(window.ActiveXObject)
{
try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");} catch(e){}
}
else if(window.XMLHttpRequest)
{
try{xmlHttp=new XMLHttpRequest();}catch(e){}
}
}
function gb2utf8(data){
var glbEncode = [];
gb2utf8_data = data;
execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
t=t.split("@");
var i=0,j=t.length,k;
while(++i<j) {
k=t[i].substring(0,4);
if(!glbEncode[k])
{
gb2utf8_char = eval("0x"+k);
execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
glbEncode[k]=escape(gb2utf8_char).substring(1,6);
}
t[i]=glbEncode[k]+t[i].substring(4);
}
gb2utf8_data = gb2utf8_char = null;
return unescape(t.join("%"));
}
function sendxmlHttp(weathercity)
{
document.getElementById("test").innerHTML="loading..." ;
if(!weathercity)
{
httpstr="http://weather.tq121.com.cn/mapanel/index1.php?city=荆州"
}
else
{
httpstr="http://weather.tq121.com.cn/mapanel/index1.php?city="+weathercity;
}
createXmlHttp();
xmlHttp.open("GET",httpstr,true);
xmlHttp.onreadystatechange=callbackWeather;
xmlHttp.send(null);
}
function callbackWeather()
{
if(xmlHttp.readyState==4)
if(xmlHttp.status==200)
{
var TextDoc=gb2utf8(xmlHttp.responseBody);
//var pat = /[^\x00-\xff]+/g; //这个是双字节的。就是说带标点符号
var pat =/"weather">[\u4e00-\u9fa5]+<\/td>/; //这个好象带中文的。
var pat1 =/"weatheren">\S*<\/td>/; //这个好象带中文的。
var pat2=/<span class="big-cn">[\u4e00-\u9fa5]+<\/span>/
var str="<div id="+TextDoc.match(pat);
var str1="<div id="+TextDoc.match(pat1);
var str2=TextDoc.match(pat2);
var patt1=/td/g;
document.getElementById("test").innerHTML=str2+str.replace(patt1,"div")+str1.replace(patt1,"div");
}
}
//Cookie日期修正函数 function FixCookieDate(date)
function FixCookieDate(date){
var base = new Date(0);
var skew = base.getTime();
if (skew > 0)date.setTime(date.getTime() - skew);
}
function myCustomize(city)
{
if(city == "")
{
alert("请选择城市");
return false;
}
var expdate = new Date();
FixCookieDate(expdate);//修正MAC机器的BUG
expdate.setTime(expdate.getTime() + (1000*60*60*24*365));//设置Cookie的有效期为1年
setcookie(city,expdate);
}
function setcookie(cityname,date)
{
document.cookie="userSelect="+ escape(cityname)+";expires="+date+";"+"domain=dodoshop.com.cn";
alert("定制成功!");
}
//获取Cookie函数 function GetCookie()
function GetCookie(){
var result;
var start;
var end;
var names="userSelect=";
var city;
result=document.cookie;
start=result.indexOf("userSelect");
start=(start+names.length);
end=result.indexOf(";",start);
if(end==-1)
end=result.length;
city=result.substring(start,end);
if(city!="")
{
sendxmlHttp(city);
}
else
{
city=unescape(city);
sendxmlHttp("");
}
}
function display()
{
GetCookie();
}
</script>
</head>
<body onLoad="display()">
<div id="selectoptions">
<form name="cityform" action="">
<select name="select2" class="input11" onChange="sendxmlHttp(cityform.select2.options[cityform.select2.selectedIndex].value)">
<option value="选择城市" selected>选择城市</option>
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="天津">天津</option>
<option value="广州">广州</option>
<option value="深圳">深圳</option>
<option value="重庆">重庆</option>
<option value="武汉">武汉</option>
<option value="荆州">荆州</option>
<option value="石家庄">石家庄</option>
<option value="太原">太原</option>
<option value="呼和浩特">呼和浩特</option>
<option value="沈阳">沈阳</option>
<option value="长春">长春</option>
<option value="哈尔滨">哈尔滨</option>
<option value="南京">南京</option>
<option value="杭州">杭州</option>
<option value="合肥">合肥</option>
<option value="福州">福州</option>
<option value="南昌">南昌</option>
<option value="济南">济南</option>
<option value="郑州">郑州</option>
<option value="长沙">长沙</option>
<option value="南宁">南宁</option>
<option value="海口">海口</option>
<option value="成都">成都</option>
<option value="贵阳">贵阳</option>
<option value="昆明">昆明</option>
<option value="西安">西安</option>
<option value="兰州">兰州</option>
<option value="西宁">西宁</option>
<option value="银川">银川</option>
<option value="拉萨">拉萨</option>
<option value="乌鲁木齐">乌鲁木齐</option>
<option value="香港">香港</option>
<option value="澳门">澳门</option>
<option value="台北">台北</option>
<option value="纽约">纽约</option>
<option value="旧金山">旧金山</option>
<option value="东京">东京</option>
<option value="汉城">汉城</option>
<option value="巴黎">巴黎</option>
<option value="伦敦">伦敦</option>
</select>
<div id="test">loading...</div>
</form></div>
</body>
</html>
这个网页好像主要做了三个方面的工作:
1.将中文转换为UTF8;
2.在表单中提取“城市”,发送到http://weather.tq121.com.cn/mapanel/index1.php?city=;
3.在返回的xml中,截取字符,显示在网页上。;
汗颜!不知该怎样修改为己所用。xml与asp有区别吗?
<html>
<head>
<meta http-equiv="Content-Type" content="UTF-8"/>
<title>weather </title>
<script type="text/javascript">
var xmlHttp;
function createXmlHttp()
{
if(window.ActiveXObject)
{
try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");} catch(e){}
}
else if(window.XMLHttpRequest)
{ try{xmlHttp=new XMLHttpRequest();}catch(e){} }
}
function gb2utf8(data){
var glbEncode = [];
gb2utf8_data = data;
execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
t=t.split("@");
var i=0,j=t.length,k;
while(++i <j) {
k=t[i].substring(0,4);
if(!glbEncode[k])
{
gb2utf8_char = eval("0x"+k);
execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
glbEncode[k]=escape(gb2utf8_char).substring(1,6);
}
t[i]=glbEncode[k]+t[i].substring(4);
}
gb2utf8_data = gb2utf8_char = null;
return unescape(t.join("%"));
}
function sendxmlHttp(weathercity)
{
document.getElementById("test").innerHTML="loading..." ;
if(!weathercity)
{
httpstr="http://weather.tq121.com.cn/mapanel/index1.php?city=荆州"
}
else
{
httpstr="http://weather.tq121.com.cn/mapanel/index1.php?city="+weathercity;
}
createXmlHttp();
xmlHttp.open("GET",httpstr,true);
xmlHttp.onreadystatechange=callbackWeather;
xmlHttp.send(null);
}
function callbackWeather()
{
if(xmlHttp.readyState==4)
if(xmlHttp.status==200)
{
var TextDoc=gb2utf8(xmlHttp.responseBody);
var pat =/"weather">(.*?)<\/td>/; //这个好象带中文的。
var pat1 =/"weatheren">(.*?)<\/td>/; //这个好象带中文的。
var pat2=/ <span class="big-cn">(.*?)<\/span>/
var str=" <div id="+TextDoc.match(pat);
var str1=" <div id="+TextDoc.match(pat1);
var str2=TextDoc.match(pat2);
var patt1=/td/g;
document.getElementById("test").innerHTML=str2+str.replace(patt1,"div")+str1.replace(patt1,"div");
}
}
//Cookie日期修正函数 function FixCookieDate(date)
function FixCookieDate(date){
var base = new Date(0);
var skew = base.getTime();
if (skew > 0)date.setTime(date.getTime() - skew);
}
function myCustomize(city)
{
if(city == "")
{
alert("请选择城市");
return false;
}
var expdate = new Date();
FixCookieDate(expdate);//修正MAC机器的BUG
expdate.setTime(expdate.getTime() + (1000*60*60*24*365));//设置Cookie的有效期为1年
setcookie(city,expdate);
}
function setcookie(cityname,date)
{
document.cookie="userSelect="+ escape(cityname)+";expires="+date+";"+"domain=dodoshop.com.cn";
alert("定制成功!"); }
//获取Cookie函数 function GetCookie()
function GetCookie(){
var result;
var start;
var end;
var names="userSelect=";
var city;
result=document.cookie;
start=result.indexOf("userSelect");
start=(start+names.length);
end=result.indexOf(";",start);
if(end==-1)
end=result.length;
city=result.substring(start,end);
if(city!="")
{
sendxmlHttp(city);
}
else
{
city=unescape(city);
sendxmlHttp("");
}
}
function display()
{
GetCookie();
}
</script>
</head>
<body onLoad="display()">
<div id="selectoptions">
<form name="cityform" action="">
<select name="select2" class="input11" onChange="sendxmlHttp(cityform.select2.options[cityform.select2.selectedIndex].value)">
<option value="选择城市" selected>选择城市 </option>
<option value="北京">北京 </option>
<option value="上海">上海 </option>
<option value="天津">天津 </option>
<option value="广州">广州 </option>
<option value="深圳">深圳 </option>
<option value="重庆">重庆 </option>
<option value="武汉">武汉 </option>
<option value="荆州">荆州 </option>
<option value="石家庄">石家庄 </option>
<option value="太原">太原 </option>
<option value="呼和浩特">呼和浩特 </option>
<option value="沈阳">沈阳 </option>
<option value="长春">长春 </option>
<option value="哈尔滨">哈尔滨 </option>
<option value="南京">南京 </option>
<option value="杭州">杭州 </option>
<option value="合肥">合肥 </option>
<option value="福州">福州 </option>
<option value="南昌">南昌 </option>
<option value="济南">济南 </option>
<option value="郑州">郑州 </option>
<option value="长沙">长沙 </option>
<option value="南宁">南宁 </option>
<option value="海口">海口 </option>
<option value="成都">成都 </option>
<option value="贵阳">贵阳 </option>
<option value="昆明">昆明 </option>
<option value="西安">西安 </option>
<option value="兰州">兰州 </option>
<option value="西宁">西宁 </option>
<option value="银川">银川 </option>
<option value="拉萨">拉萨 </option>
<option value="乌鲁木齐">乌鲁木齐 </option>
<option value="香港">香港 </option>
<option value="澳门">澳门 </option>
<option value="台北">台北 </option>
<option value="纽约">纽约 </option>
<option value="旧金山">旧金山 </option>
<option value="东京">东京 </option>
<option value="汉城">汉城 </option>
<option value="巴黎">巴黎 </option>
<option value="伦敦">伦敦 </option>
</select>
<div id="test">loading... </div>
</form> </div>
</body>
</html>
他的那代码显示不出来,用我的这个可以显示
直接可以用
根据您的2008-11-11 15:10:13的建议,我将该程序修改如下:<HTML>
<HEAD>
<TITLE>四川省成都市</TITLE>
<script language="javascript">
$url="http://www.hi5360.com/stat/IP2City.asp?j=js";
$start_str= '四'; <!--是否应该转换utf8的字符)
$end_str= '都 ';
echo get_link($url,$start_str,$end_str);
function get_link($url,$start,$end)
{
$content = file_get_contents($url);
$start_position=strpos($content,$start);
$content=substr($content,$start_position);
$start_position=strpos($content, ":")+1;
$end_position=strpos($content,$end);
$length=$end_position-$start_position;
$content=substr($content,$start_position,$length);
return $content;
}
document.getElementById("divweather").innerHTML=$content;
document.getElementById("divweather").style.visibility="visible";
</script>
</HEAD>
<BODY onLoad="get$content()">
<div align="center" id="divweather"></div>
</BODY>
</HTML>http://www.hi5360.com/stat/IP2City.asp?j=js显示的是:
document.write("您的IP:222.212.172.157 来自于:四川省成都市 电信ADSL");
我的网页为什么提取不到“四川省成都”
这个返回来的信息输出,看看是什么结果
可能让您见笑了,我的编程水平实在太滥。刚学的,第一次动手做。每天只有晚上抽业余学习。有您的帮忙才使我有了信心和勇气。见到您能好义善施,帮了许多人的忙,有许多好友,真的很羡慕。能加您为好友吗?