php正则表达式 取页面指定内容

我想个人帮帮我我不会写正则表达,取http://www.ip138.com中我的IP地址[]就是括号内的内容$countfile="http://www.ip138.co... 我想个人帮帮我 我不会写正则表达,取http://www.ip138.com
中我的IP地址 [ ] 就是括号内的内容
$countfile="http://www.ip138.com/";
$mode="";//正则表达式
str=file_get_contents($countfile);
preg_match($mode,$str,$arr);
print_r($arr);
展开
 我来答
百度网友fb6e7624d1
2010-12-10 · TA获得超过855个赞
知道小有建树答主
回答量:438
采纳率:0%
帮助的人:557万
展开全部
你好,现在ip138的ip地址没有直接显示在http://www.ip138.com/中 而是用的iframe,打开源文件可以看到:
<iframe src="http://www.ip138.com/ip2city.asp" frameborder="0" scrolling="no" width="100%" height="100%"></iframe>
所以你的 $str中没有[]括起来的字符串,匹配失败。

应该这样:
$countfile="http://www.ip138.com/ip2city.asp/";
$mode="\[(.*)\]";//正则表达式 //简单匹配[]中的所有内容,即ip地址
$str=file_get_contents($countfile);
preg_match($mode,$str,$arr);
print_r($arr);
百度网友b0bf7fa
2010-12-10
知道答主
回答量:9
采纳率:0%
帮助的人:4.2万
展开全部
你的这个地址是不对的
他里面是一个框架
要抓去http://www.ip138.com/ip2city.asp这个地址
$mode="/[(.*)]/";//正则表达式
这样就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liheanyway007
2010-12-10 · TA获得超过280个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:122万
展开全部
$mode= '/^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)((d|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))$/';

参考资料: http://zhidao.baidu.com/question/99571352.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式