激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久久久亚洲国产精品 | 久久久久久久免费精品 | 草碰人人 | 日本a v免费观看 | 精品1| 亚洲日韩精品欧美一区二区 | 欧美精品123区 | 性生活视频网站 | 久久草草亚洲蜜桃臀 | 色戒在线版 | 国产羞羞视频在线观看 | 免费国产网站 | 情侣啪啪网站 | 国产乱淫av片免费观看 | 九九热在线视频观看 | 免费一及片 | 久久久aa| 成人做爽爽爽爽免费国产软件 | 男人久久天堂 | 成人免费看片a | 色a综合| 日本黄色免费播放 | 色综合网在线观看 | 黄色免费播放网站 | 蜜桃网站在线观看 | 在线观看中文字幕国产 | 欧美一区2区三区4区公司二百 | 一级大黄毛片 | 免费看成人毛片 | 日本网站在线播放 | 久久99国产精品久久99果冻传媒 | 羞羞视频免费网站 | 精品亚洲网站 | 九九热在线视频观看这里只有精品 | 福利在线免费视频 | 夜班护士在线观看 | 国产美女精品视频 | 毛片免费一区二区三区 | xxxx18韩国护士hd老师 | 91懂色| va视频在线 |