프로그램/php2015. 7. 22. 15:47

IP 정보의 일부분을 다른 문자열로 변경한다.

 

>

변경 전 : 111.222.333.444

변경 후 : 111.222.xxx.444

 

 

/* ip의 일부를 문자로 변경해서 반환

ary['ip'] : ip 값(필수)

ary['c'] : 대체 문자(기본:'xxx'), 글자 수 최대 3자리

ary['i'] : 대체 index (기본:2), :0~3

반환 예>111.111.xxx.111

*/

function rtn_ip_xxx($ary = array()) {

  if(empty($ary['ip'])) return false;

  if(empty($ary['c'])) $ary['c'] = 'xxx';

  if(strlen($ary['c']) > 3) return false;

  if(empty($ary['i'])) $ary['i'] = 2;

  if($ary['i'] < 0 || $ary['i'] > 3) return false;

  $rtn = explode('.', $ary['ip']);

  $rtn[$ary['i']] = $ary['c'];

  return implode('.', $rtn);

}

 

 

사용 예>

$ip = '111.222.333.444';  // $_SERVER['REMOTE_ADDR']

echo "<br />ip =" . rtn_ip_xxx(array('ip' => $ip));

결과 : 111.222.xxx.444

 

 

사용 예>

$ip = '111.222.333.444';  // $_SERVER['REMOTE_ADDR']

$c = ‘-’;

echo "<br />ip =" . rtn_ip_xxx(array('ip' => $ip, ‘c' => $c));

결과 : 111.222.-.444

 

 

사용 예>

$ip = '111.222.333.444';  // $_SERVER['REMOTE_ADDR']

$c = ‘???’;

$i = 3;

echo "<br />ip =" . rtn_ip_xxx(array('ip' => $ip , ‘c' => $c , i' => $i));

결과 : 111.222.333.???

Posted by 은둔고수