$trimmed = implode(".", array_slice(explode(".", $ip), 0, 3));
или
$trimmed = substr($ip, 0, strrpos($ip, "."));
или, возможно,
$trimmed = preg_replace("/(\d{1,3})\.(\d{1,3}).(\d{1,3}).(\d{1,3})/", '$1.$2.$3', $ip);
Более математический подход, который не удаляет последнюю цифру, а заменяет ее на 0:
$newIp = long2ip(ip2long("192.168.0.10") & 0xFFFFFF00);