我正在使用下面的代码,但它没有显示ip的前缀(例如。* * *。* * *。* * *正在显示而不是192. * * *。* * *。* * *和IPV6相同。
$offset = 2;
if (strpos($row["log_ip"], ":") !== false) {
$needle = ".";
$replacement = ".***.***.***";
}
else {
$needle = ":";
$replacement = ":****:****:****:****:****:****:****";
}
$row["log_ip"] = substr_replace($row["log_ip"], $replacement, stripos($row["log_ip"], $needle, $offset));
echo $row["log_ip"];
答案 0 :(得分:1)
您只需从条件中删除感叹号。它应该是== false
$offset = 2;
if (strpos($row["log_ip"], ":") == false) {
$needle = ".";
$replacement = ".***.***.***";
}
else {
$needle = ":";
$replacement = ":****:****:****:****:****:****:****";
}
$row["log_ip"] = substr_replace($row["log_ip"], $replacement, stripos($row["log_ip"], $needle, $offset));
echo $row["log_ip"];