源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-09-03 08:08 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php中获取指定IP的物理地址的代码(正则表达式)
自己搭建IP数据库占资源,而且更新不便,何不使用现成的IP查询呢?下面自己写了个获取IP物理地址的PHP代码(有一定的瑕疵,请高手不吝赐教)
[url=http://www.ip138.com]http://www.ip138.com[/url]后使用正则表达式进行截取部分内容,其中正则表达式是自己写的。 [img]http://files.jb51.net/upload/201106/20110623130845899.png[/img] 开始还好,下面的处理结果出现了乱码,如果把$str(去除字符串首尾的标识)定义的字符串就没有了乱码;而且再加一个单独的去除“:”的语句,就可以实现无乱码的现象,不知道为什么了…… [b]正则表达式——获取指定IP的物理地址(二) chinaz数据 [/b]上一个IP获取的结果不是很完善,究其原因是因为ip138的IP解析应对国外的地址时不是很详细,所以又重新写了个用Chianz.com的代码。
[u]复制代码[/u] 代码如下:
<!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>
结果还令人满意 [img]http://files.jb51.net/upload/201106/20110623130845600.png[/img] [img]http://files.jb51.net/upload/201106/20110623130845234.png[/img]   以上是本人写的两个获取IP物理地址的代码,作为一个初学者,没事的时候写写简单的代码也还是一件挺有意思的事。但是毕竟是一个初学者,不能更好的注意安全性、空间利用率、时间效率等问题,还望各位留下你的足迹,小弟谢了
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部