我有一个文本文件,内容如下:
TME: 1316179740.2558|FNE: blog-comments.php|MSG: Kommenterade "ett nyare blogginlägg"-blogginlägget|IPA: ce8bf851d2b1bb1d7f7b24d3656f3d4c90d4ac88c50537e065843b7a0a6c8c236eef76d5814f0782f864209da2b8be1be0d449e86edbcd478847ccbe0189b61f
......等等。 IPA代表IP地址,是访问者IP地址。我想将此信息与访问者的真实IP地址进行比较,以便从访问者的文件中获取正确的信息。我该如何做到这一点?
提前致谢。
答案 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>';
}
}