一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php中獲取指定IP的物理地址的代碼(正則表達式)

php中獲取指定IP的物理地址的代碼(正則表達式)

2019-11-29 14:58PHP教程網 PHP教程

網站常用的模塊可能出了注冊、登陸、發稿、留言、評論,剩下比較重要的也許就是獲取IP并作相應的數據處理了。

自己搭建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物理地址的代碼,作為一個初學者,沒事的時候寫寫簡單的代碼也還是一件挺有意思的事。但是畢竟是一個初學者,不能更好的注意安全性、空間利用率、時間效率等問題,還望各位留下你的足跡,小弟謝了

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 高清不卡一区二区 | 久久综久久美利坚合众国 | 99看视频| 国色天香社区在线视频免费观看 | 国产91网站在线观看 | 手机看片一区二区 | 日韩色图区 | 朝鲜女人性猛交 | 亚洲人成在线观看一区二区 | 日韩精品一区二区三区中文在线 | 窝窝色资源站 | 欧美日韩在线一区二区三区 | 国产成人h综合亚洲欧美在线 | 二区三区不卡不卡视频 | 色花堂国产精品首页第一页 | 免费尤物视频 | 嫩草影院永久一二三入口 | 亚洲欧美另类在线观看 | 国产乱子伦一区二区三区 | 97精品国产自在现线免费观看 | 亚洲大片免费看 | 欧美成人精品福利网站 | 日本视频高清免费观看xxx | 暖暖的免费观看高清视频韩国 | 国产精品乱码高清在线观看 | 欧美日韩国产精品综合 | 国产精品99精品久久免费 | 国产精品乱码高清在线观看 | 四虎影院新地址 | 91麻豆精东果冻天美传媒老狼 | 色综合久久天天综合观看 | 黄动漫软件车车好快的车车 | 久久免费看少妇高潮A片特爽 | 暖暖日本高清 | 女教师的一级毛片 | 国内精品在线播放 | 美女舒服好紧太爽了视频 | 91高跟丝袜 | 91久久线看在观草草青青 | 欧美高清在线精品一区二区不卡 | 久久久乱码精品亚洲日韩 |