>我有一堆文本文件,如下所示:PLAYER_ENTERED name ipaddress username
但这里还有其他文字
我的代码如下,用于提取 ipadress 和用户名:
$q = $_REQUEST["ipladder"];
$f = fopen("ladderlog.txt", "r");
while (($line = fgets($f)) !== FALSE)
{
if (strstr($line, $q))
{
$data = explode(" ", $line); // split using the space into an array
// array index 0 = PLAYER_ENTERED
print "IP:" . $data[1] . "<br>"; // array index 1 = IP
print "Name: " . $data[2]; // array index 2 = name
}
}
输出为:
IP:IP地址
名称:用户名
我的问题是...当文件中出现相同的情况时,如何防止重复条目?
如果文件不是太大和/或这是一个本地脚本。我会调用file()
将行作为数组获取,然后array_unique()
.然后,您可以遍历此数组以仅打印唯一项。
$q = $_REQUEST["ipladder"];
$f = file("ladderlog.txt");
$f = array_unique($f);
foreach($f as $line)
{
if (strstr($line, $q))
{
$data = explode(" ", $line); // split using the space into an array
// array index 0 = PLAYER_ENTERED
print "IP:" . $data[1] . "<br>"; // array index 1 = IP
print "Name: " . $data[2]; // array index 2 = name
}
}