2009. 11. 5. 11:39
URL주소에서 긴링크를 처리 PHP2009. 11. 5. 11:39
//////문자열을 잘라내는 함수
function CutString($str, $start, $end, $tailmark=''){
$strcnt = strlen($str);
$result = substr($str, $start, $end); // 일단 문자열을 자른다.
preg_match('/^([\x00-\x7e]|.{2})*/', $result, $string); // 뒤에 오는 ?제거
if($strcnt > $end){ return $string[0].$tailmark; }else{ return $string[0]; }
}
//////문자열을 뒤에서부터 잘라내는 함수
function CutStringR($str,$len,$head=""){
if(strlen($str)<=$len){ return $str; }
$str2=substr($str,$len*-1);
$size=strlen($str2);
for($i=$size,$j=1;$j<=$size;$i--){
$chr=substr($str2,$j*-1,1);
if(ord($chr)>127){ $j++; $chr=substr($str,$j*-1,1).$chr; }
$result=$chr.$result;
$j++;
}
return $head.$result;
}
///////////////////URL주소에서 긴링크를 처리하는부분이다.
//파일이름만 추출해서 하는 부분은 뺐다.
//몇개 관련된게 있어서 수정하기 귀찮아서리... 단순히 문자열 앞뒤로 자른 후 줄임표만 ㅋㅋㅋ
function LinkString($linkstr, $cutcount){
$tmp = explode("://", $linkstr);
$linkstr = trim($linkstr); $linkenc = trim($tmp[1]);
$encoded_url = $tmp[0]."://".urlencode($linkenc);
if(strlen($linkstr) >= $cutcount){
$halfcount = (int)($cutcount/2); $halfcount = $halfcount-3;
$aaa1 = CutString($linkstr, 0, $halfcount);//문자열에서 앞부분 추출
$aaa2 = CutStringR($linkstr, $halfcount);//문자열에서 뒷부분 추출
$linkstr = $aaa1."...".$aaa2;
}
return $linkstr;
}