宝哥软件园

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

编辑:宝哥软件园 来源:互联网 时间:2021-10-19

自己建立一个IP数据库,占用资源,更新不方便。为什么不用现成的IP查询?我写了一个PHP代码来获取IP物理地址(有一些瑕疵,请随时给我建议)。复制代码如下: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 $ IPADr=' 218 . 75 . 124 . 100 ';$ ip138 addr=' http://www . ip138.com/ips8 . ASP?ip='。$ ipAddr 'action=2 ';$ contents=file _ get _ contents($ ip138 addr);$pattern='/li。/Li /';$字符串=$内容;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) {case0: $ str='此网站的liMaster数据:/Li ';打破;案例1: $ str=' li参考数据1:/Li ';打破;案例2: $ str=' li参考数据2:/Li ';打破;案例3: $ str=' li参考数据3:/Li ';打破;案例4: $ str=' li参考数据四:/Li ';打破;案例5: $ str=' li参考数据VI:/Li ';打破;案例6: $ str=' li参考数据7:/Li ';打破;} $ AddRaray[0][$ I]=trim($ AddRaray[0][$ I],$ str);} $ addrArray[0][0]=trim($ addrArray[0][0],':');回声“pre”;print _ r($ addrArray);回声'/pre ';/body /html这段代码在访问了http://www.ip138.com之后使用正则表达式截取了部分内容,其中正则表达式是自己编写的。

幸运的是,一开始,下面的处理结果出现了乱码。如果$str定义的字符串(不包括字符串开头和结尾的标记)没有乱码字符;而且,增加单独的语句去掉“:”可以实现无乱码字符的现象。不知道为什么…正则表达式——获取指定IP的物理地址。(2)以前的IP在chinaz数据中的结果并不完美。原因是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 $ IPADr=' 4 . 4 . 44 . 4 ';$ ipChinazAddr=' http://tool . chinaz.com/IP/?IP='。$ ipAddr$ contents=file _ get _ contents($ ipChinazAddr);$pattern='/==\。 /strong br //';$字符串=$内容;preg_match_all($pattern,$string,$ addrArray);$ num=count($ addrArray[0]);$pattern='/(==)。(== s)/';for($ I=0;$ i $ num$ I){ $ AddRaray[0][$ I]=preg _ replace($ pattern ' ',$ AddRaray[0][$ I]);} echo“pre”;print _ r($ addrArray);回声'/pre ';/body/html结果令人满意

这是我写的获取IP物理地址的两个代码。作为一个初学者,有空的时候写简单的代码还是挺有意思的。但我毕竟是初学者,不能多关注安全、空间利用、时间效率等问题。我希望你留下你的脚印。谢谢,小弟弟。

更多资讯
游戏推荐
更多+