php中获取指定IP的物理地址的代码(正则表达式)


Posted in PHP onJune 23, 2011

自己搭建IP数据库占资源,而且更新不便,何不使用现成的IP查询呢?下面自己写了个获取IP物理地址的PHP代码(有一定的瑕疵,请高手不吝赐教)

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title></title> 
<meta charset="UTF-8" /> 
<meta name="author" content="" /> 
<meta name="keywords" content="" /> 
<meta name="description" content="" /> 
</head> 
<body> 
<?php 
$ipAddr = "218.75.124.100"; 
$ip138Addr = "http://www.ip138.com/ips8.asp?ip=".$ipAddr."&action=2"; 
$contents = file_get_contents($ip138Addr); 
$pattern = "/\<li.+?\/li\>/"; 
$string = $contents; 
preg_match_all($pattern,$string,$addrArray); 
$num = count($addrArray[0]); 
for($i = 0;$i<$num;$i++){ 
echo $addrArray[0][$i] = mb_convert_encoding($addrArray[0][$i],"UTF-8", "GB2312"); 
switch($i) { 
case 0:$str = "<li>本站主数据:</li>";break; 
case 1:$str = "<li>参考数据一:</li>";break; 
case 2:$str = "<li>参考数据二:</li>";break; 
case 3:$str = "<li>参考数据三:</li>";break; 
case 4:$str = "<li>参考数据四:</li>";break; 
case 5:$str = "<li>参考数据六:</li>";break; 
case 6:$str = "<li>参考数据七:</li>";break; 
} 
$addrArray[0][$i] = trim($addrArray[0][$i],$str); 
} 
$addrArray[0][0] = trim($addrArray[0][0],":"); 
echo "<pre>"; 
print_r($addrArray); 
echo "</pre>"; 
?> 
</body> 
</html>

这段代码采用访问http://www.ip138.com后使用正则表达式进行截取部分内容,其中正则表达式是自己写的。
php中获取指定IP的物理地址的代码(正则表达式)
开始还好,下面的处理结果出现了乱码,如果把$str(去除字符串首尾的标识)定义的字符串就没有了乱码;而且再加一个单独的去除“:”的语句,就可以实现无乱码的现象,不知道为什么了……
正则表达式——获取指定IP的物理地址(二) chinaz数据
上一个IP获取的结果不是很完善,究其原因是因为ip138的IP解析应对国外的地址时不是很详细,所以又重新写了个用Chianz.com的代码。
<!DOCTYPE html> 
<html lang="en"> 
<head> 
<title></title> 
<meta charset="UTF-8" /> 
<meta name="author" content="" /> 
<meta name="keywords" content="" /> 
<meta name="description" content="" /> 
</head> 
<body> 
<?php 
$ipAddr = "4.4.44.4"; 
$ipChinazAddr = "http://tool.chinaz.com/IP/?IP=".$ipAddr; 
$contents = file_get_contents($ipChinazAddr); 
$pattern = "/\=\=\>\>.+\<\/strong\>\<br \/\>/"; 
$string = $contents; 
preg_match_all($pattern,$string,$addrArray); 
$num = count($addrArray[0]); 
$pattern = "/(==>>).+(==>>\s)/"; 
for($i = 0;$i<$num;$i++){ 
$addrArray[0][$i] = preg_replace($pattern,"",$addrArray[0][$i]); 
} 
echo "<pre>"; 
print_r($addrArray); 
echo "</pre>"; 
?> 
</body> 
</html>

结果还令人满意

php中获取指定IP的物理地址的代码(正则表达式)

php中获取指定IP的物理地址的代码(正则表达式)

以上是本人写的两个获取IP物理地址的代码,作为一个初学者,没事的时候写写简单的代码也还是一件挺有意思的事。但是毕竟是一个初学者,不能更好的注意安全性、空间利用率、时间效率等问题,还望各位留下你的足迹,小弟谢了

PHP 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
PHP在Web开发领域的优势
Oct 09 PHP
PHP中基本符号及使用方法
Mar 23 PHP
phpmyadmin3 安装配置图解教程
Mar 29 PHP
解析php获取字符串的编码格式的方法(函数)
Jun 21 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
php无限级分类实现方法分析
Oct 19 PHP
ThinkPHP中create()方法自动验证实例
Apr 26 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
Apr 06 PHP
PHP学习笔记 (1) 环境配置与代码调试
Jun 19 #PHP
php开发过程中关于继承的使用方法分享
Jun 17 #PHP
php设计模式  Command(命令模式)
Jun 17 #PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 #PHP
php smarty 二级分类代码和模版循环例子
Jun 16 #PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 #PHP
php中session_unset与session_destroy的区别分析
Jun 16 #PHP
You might like
php&amp;mysql 日期操作小记
2012/02/27 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
CCPry JS类库 代码
2009/10/30 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
解决await在forEach中不起作用的问题
2021/02/25 Javascript
在Linux系统上安装Python的Scrapy框架的教程
2015/06/11 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python中的数据结构比较
2019/05/13 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
工程管理专业个人求职信范文
2013/12/07 职场文书
应届专科生个人的自我评价
2014/01/05 职场文书
生日宴会答谢词
2014/01/09 职场文书
社区十八大感言
2014/01/19 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
会议主持词结束语
2015/07/03 职场文书
村主任当选感言
2015/08/01 职场文书
2016教师节感恩话语
2015/12/09 职场文书