<?php 
 function mb_str_pad($input, $length, $padStr = ' ', $type=STR_PAD_RIGHT){ 
     
   $inputLen = mb_strlen($input); 
   if ($length <= $inputLen) { 
     return $input; 
   } 
     
   $padStrLen = mb_strlen($padStr); 
   $padLen = $length - $inputLen; 
     
   if ($type == STR_PAD_RIGHT) { 
     $repeatTimes = ceil($padLen / $padStrLen); 
     return mb_substr($input.str_repeat($padStr,$repeatTimes),0,$length); 
   } 
     
   if ($type == STR_PAD_LEFT) { 
     $repeatTimes = ceil($padLen / $padStrLen); 
     $repeat = str_repeat($padStr, $repeatTimes); 
     return mb_substr($repeat, 0, floor($padLen)).$input; 
   } 
     
   if ($type == STR_PAD_BOTH) {       
     $padLen /= 2; 
     $padAmountLeft = floor($padLen); 
     $padAmountRight = ceil($padLen); 
     $repeatTimesLeft = ceil($padAmountLeft / $padStrLen); 
     $repeatTimesRight = ceil($padAmountRight / $padStrLen); 
         
     $repeat_left = str_repeat($padStr, $repeatTimesLeft); 
     $paddingLeft = mb_substr($repeat_left, 0, $padAmountLeft); 

     $repeat_right = str_repeat($padStr, $repeatTimesRight); 
     $paddingRight = mb_substr($repeat_right, 0, $padAmountLeft); 
     return $paddingLeft . $input . $paddingRight; 
   } 
   return false; 
 } 
 ?>

출처: http://www.phpwact.org

0 댓글