比较文本文件中的IP地址。怎么搜索?

时间:2011-09-16 15:38:42

标签: php search ip text-files

我有一个文本文件,内容如下:

TME: 1316179740.2558|FNE: blog-comments.php|MSG: Kommenterade "ett nyare blogginlägg"-blogginlägget|IPA: ce8bf851d2b1bb1d7f7b24d3656f3d4c90d4ac88c50537e065843b7a0a6c8c236eef76d5814f0782f864209da2b8be1be0d449e86edbcd478847ccbe0189b61f

......等等。 IPA代表IP地址,是访问者IP地址。我想将此信息与访问者的真实IP地址进行比较,以便从访问者的文件中获取正确的信息。我该如何做到这一点?

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以使用正则表达式来获取重要部分并比较...

if (preg_match_all('/IPA:\s*([a-f\d]+)/i', $subject, $matches, PREG_SET_ORDER)) {
    // your values will be in the $matches array here
    // with the actual IP hash in $matches[$i][1]
}

我不知道IPA有多长,或结尾分隔符是什么,所以这将抓取所有十六进制字符,直到它们用完为止。

答案 1 :(得分:0)

尝试

$array = file('textfiles/activity/'.$_GET['d'].'.txt'); 

foreach($array AS $key => $test) { 
    $info       = explode('|', $test); 
    $info_date  = explode('TME: ', $info[0]); 
    $info_msg   = explode('MSG: ', $info[2]); 
    $hashed_ip  = explode('IPA: ', $info[3]);
    if(trim($hashed_ip[1]) == hash('whirlpool', $_SERVER['REMOTE_ADDR'])) { 
        echo '<b>'.date('H:i', $info_date[1]).'</b>: '.$info_msg[1].'<br>';     
    }       
}