Preg replace IP ADRESY

Potřebuju nahradit první dvě čísla v IP,

$r2['ip'] = preg_replace("/.*..*.*/", "--..*", $r2['ip']);

A nejede a nejede...
PS: tady na foru jsem toho našel hodně, ale tohle ne :)
cim nahradit?
Jinak bych to zkusil takhle

list($prvni,$druha,$treti,$ctvrta)=explode(".",$ip);

a mas 4 promenne a dal si s nimi delej co chces ...
Oh, to mě nenapadlo. Díky moc.
No jo to mi jede, ale jak to zas (už upravený) naházim do $ip ? Zkrátka potřebuju čtyři proměnný dostat do jedný...
$novaIP=".$prvni.".".$druha.".".$treti.".".$ctvrta.";
není tam moc teček? to by udělalo něco jako .192..168..1..1. , ne?
$ip=$REMOTE_ADDR;

list($prvni,$druha,$treti,$ctvrta)=explode(".",$ip);

$novaIP="".$prvni.".".$druha.".".$treti.".".$ctvrta."";

echo "$novaIP";
Ne, to ti sváže ty proměnný dohromady, ty tečky.
Neslo by to prehledneji jako:
$novaIP = "$prnvi.$druha.$treti.$ctvrta";
?
to bude jen řada čísel - původní tečky sežralo explode() při dělení do pole
a jo, šlo - přehlídnul jsem uvozovky - promiň
mydlo:

Přece když to zapíšeš takto
$novaIP=".$prvni.".".$druha.".".$treti.".".$ctvrta.";

tak ty tečky co jsou "mimo úvozovky slouží k spojení dohromady, ale ty těsně vedle proměnných se normálně vypíšou...
sem tu zas nadělal zmatky :-)

$novaIP = $prvni.".".$druha.".".$treti.".".$ctvrta; // vypise tecky
$novaIP = "$prnvi.$druha.$treti.$ctvrta"; // taky vypise tecky

$novaIP = $prnvi.$druha.$treti.$ctvrta; // spoji dohromady
to co som pisal druhe ide OK tak... ?
sorry, jaksi jsem přehlídl uvozovky kolem...