function strHideWord($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;
}
strHideWord(문자열,보여줄길이,마킹색상,마킹위치);
보여줄길이 null -> 문자열 절반만 마킹
보여줄길이 0 -> 전체 문자열 마킹
마킹위치 -> 0 왼쪽 글자보여줌
마킹위치 -> 1 오른쪽 글자만 보여줌
echo strHideWord('가1나다라마마1212ㄴ안아',3,'red',0);
-> 가1나XXXXXXXXXXX
echo strHideWord('가1나다라마마1212ㄴ안아',3,'red',1);
-> XXXXXXXXXXXㄴ안아
로그인 안한 사람들에게 정보를 쬐끔만 보여주게 할려고 만들었을 겁니다.
2바이트,1바이트 관계없이 글자갯수(X 합쳐)가 똑같아야 된다는거
'PHP∵SCRIPT' 카테고리의 다른 글
PHP를 이용한 이미지 사이즈 편집마스터 (0) | 2014.04.13 |
---|---|
페이징- 다중 정렬 : 오름, 내림, 보통 (0) | 2014.04.13 |
멀티 파일 업로드 예제 (Flex2+PHP) (0) | 2014.04.12 |
플래시 파일 정보 얻어오는 소스(PHP) (0) | 2014.04.12 |
PHP 코드를 최적화하는 40가지 팁 (번역) (0) | 2014.04.11 |
이벤트 핸들러 (Event Handler) 모음 (0) | 2014.04.11 |
잘못된 PHP 코딩 스타일 (0) | 2014.04.08 |
PHP의 소켓 함수 (0) | 2014.04.08 |
댓글