본문으로 바로가기

php 문자열 * 처리, 문자 자르기

category 웹프로그래밍/PHP 2014. 7. 23. 14:41

php 문자열 숨기기,문자 * 처리, 문자 자르기


오늘 작업하면서 만든코드입니다

mid부분 하는데 뇌 과부화


/***********************/
//왼쪽또는 오른쪽글자를 숫자만큼 잘라내고 *으로 바꿔서 표기하는 함수
//php 4.0.6 이상
//@str : 문자열 입력
//@cut_len : string 'harf' OR int 잘라낼 길이
//@type : right,left,mid 잘라낼방향
//@charset : 입력된문자열의 인코딩상황
//@star : 잘라낸 문자열을 대체할 기호
/***********************/
function string_star($str, $cut_len=3, $type='right', $star = "*"){

$length = mb_strlen($str,'UTF-8');

//* 변환할 길이가 문자길이보다 더 길다면 원본리턴
if($length < $cut_len) return $str;

if($cut_len=='harf') $cut_len = floor($length/2);

if($type=='right'){
$temp = substr($str, 0, $length - $cut_len);

for($i=0;$i<$cut_len;$i++){
$temp.= $star;
}

$ref = $temp;
}else if($type=='left'){
$temp = substr($str, $cut_len, $length - $cut_len);
$temp2 = "";

for($i=0;$i<$cut_len;$i++){
$temp2.= $star;
}

$ref = $temp2.$temp;
}else if($type=='mid'){
$harf = floor($length/2);//내림 (가운데점을 잡을수 없으면 앞쪽으로 한칸이동)
$harf_cut_len_1 = floor($cut_len/2);//내림
$harf_cut_len_2 = ceil($cut_len/2);//올림
$temp2 = "";
$temp_head = substr($str, 0, $harf-$harf_cut_len_1);
$temp_foot = substr($str, $harf+$harf_cut_len_2, $harf);
for($i=0;$i<$cut_len;$i++){
$temp2.= $star;
}

$ref = $temp_head.$temp2.$temp_foot;

}

return $ref;

}


사용 예


1. echo string_star('ABCDE',3,'right');

=> AB***

2. echo string_star(qkrrjsgh,2,'left');

=>**CDF

3. echo string_star(qkrrjsgh,2,'mid','@');

=>A@@DE



'웹프로그래밍 > PHP' 카테고리의 다른 글

PHP 실행시간 알아보기  (0) 2016.05.20
php 에서 pdf 만들기  (0) 2014.07.31
php os, brower 체크  (0) 2014.03.12
php 현재 폴더이름 알아내기  (0) 2014.03.12
[php] 썸네일 작성시 주의할점.  (0) 2012.11.26