2007. 6. 29. 15:12
문자열 마킹 함수 - hideWord v1.0
2007. 6. 29. 15:12 in 자작소스/PHP
<?php function hideWord($str,$extent=null,$color="",$pos=0) { $str_len = strlen($str); $str_key = array(); $seq = 0; for($i=0;$i<$str_len;$i++) { if(ord($str[$i]) > 128) { $seq++; if($seq%2==0) $str_key[]=$i+1; } else { $str_key[]=$i+1; } } $array_cnt = count($str_key); if($extent === null) $extent = intval($array_cnt/2); elseif($extent && $extent > $array_cnt) return $str; if($extent && $pos==0) $rtn = substr($str,0,$str_key[$extent-1]); elseif($extent && $pos==1) $rtn = substr($str,$str_key[$array_cnt - $extent-1],$str_len); for($i=$extent;$i<$array_cnt;$i++) { $ertn .= "X"; } if($color) $ertn = "<font color='".$color."'>".$ertn."</font>"; if($pos) return $ertn.$rtn; else return $rtn.$ertn; } ?>hideWord(문자열,보여줄길이,마킹색상,마킹위치);
보여줄길이 null -> 문자열 절반만 마킹
보여줄길이 0 -> 전체 문자열 마킹
마킹위치 -> 0 왼쪽 글자보여줌
마킹위치 -> 1 오른쪽 글자만 보여줌
echo hideWord('가1나다라마마1212ㄴ안아',3,'red',0);
-> 가1나XXXXXXXXXXX
echo hideWord('가1나다라마마1212ㄴ안아',3,'red',1);
-> XXXXXXXXXXXㄴ안아