php 정규식으로 ip 주소 3단위까지만 잘라오는 방법

 
반응형
211.234.123.45 -> 211.234.123
211.1.1.1 -> 211.1.1

위처럼 Return 하는 함수를 찾아봤는데 못찾겠어서 꼼수로 해결...

세번째 나오는 콤마의 위치를 찾아야 하는데 번거러워서

1. 문자열을 뒤집은 후에
2. 첫번째 콤마의 위치를 찾아서 거기까지 잘라내고
3. 다시 문자열을 뒤집어 버림...

$ip=strrev(strstr(strrev(trim($ip)),"."));

남들이 설명없이 소스만보면 이게 뭔가 할꺼야...^^




<?php
$ip="123.456.789.12";
$t = explode(".", $ip);
array_pop($t);
echo implode(".", $t);
?> 이런 방법도...


$ip = substr($ip,0,strrpos($ip,"."));



$ip = ereg_replace('\.[0-9]+$', '', $ip);

역시 고수들이 많구만...-_-;;




ip =  str_replace(strrchr($ip,"."), '', $ip); 
반응형