웹마스터 팁


참조 : http://allzza.net/maddog/test.html


앞전에 이 게시판에 올렸었는데 의도한대로 작동을 하지 않아 삭제 했다가
수정 해서 다시 올려봅니다.
substr() 함수로 글자를 자를때 2바이트 문자의 깨짐을 없애줍니다.

앞전에 이보다 훨씬 간단한 소스를 본듯 한데
그 비슷한 소스를 해보니 글이 깨지더군요.


<?

echo "<form action=$PHP_SELF>
      자를 문자열 : <input type=text size=35 name=start value="$start"><br>
      자를 길이 : <input type=text size=5 name=end value=$end><input type=submit value="^___^"></form>";


echo "자를문자열 : $start<br>
      자를 길이 : $end<br><br>
      <b>자르고 난 문자열 : ".cut_str($start,$end)."</b>";
    
function cut_str($str,$length)  {
  $temp = "";
  $ret_str = "";
  if(strlen($str) > $length) $dot = "....";
  
  for($i=0;$i<$length;$i++) {
       $b = bin2hex(substr($str,$i,1));
       if(hexdec($b) < 127 && $temp == "") $ret_str .= chr(hexdec($b));
       else {
          if($temp == "") $temp = $b;
          else {
              $temp .= $b;
              $ret_str .= hex2bin($temp);
              $temp = "";
              }
          }
       }
   return $ret_str.$dot;
   }

function hex2bin($str)  {      //-- bin2hex 의 역함수
    $ret_str = "";
    for($i=0;$i<strlen($str);$i+=2)  {
        $ge_str = substr($str,$i,2);
        $ret_str .= chr(hexdec($ge_str));
        }
    return $ret_str;
    }
    
?>