تابع محاسبه طول رشته با یونیکد utf-8

۶ سال پیش پی اچ پی(PHP)(توابع) ۰(غیر فعال)

دو تابع جهت بررسی طول یک رشته utf8.

function strlen_utf8( $str )
{
   return mb_strlen( $str, 'UTF-8' );
}
 
//or...
function strlen_utf8( $str )
{
   $c = 0;
   $len = strlen( $str );
   for ( $i = 0; $i < $len; $i++ ) {
      //0x80 = 128
      $ord = ord( $str[$i] );
      if ( $ord & 0x80 ) {
         $ord <<= 1;
         while ( $ord & 0x80 ) {
            $i++;
            $ord <<= 1;
         }
 
         $c++;
      }
      else {
         $c++;
      }
   }
 
   return $c;
}

برچسبها

هیچ برچسبی موجود نیست.

صفحات پیشنهادی

گرفتن زیرمجموعه های شناسه یک آرایه از کل آرایه به صورت تو در تو...

مدتی قبل برای گروه ما در یکی از پروژه ها به تابعی نیاز شد که هر چند جز کدهای ساده ایست اما کارهای بزرگی انجام میدهد. تابع زیر تمامی زیرمجموعه های یک شناسه بصورت تو در تو رو را شناسایی میکند. برای درک ...

تابع utf8SubString , گرفتن بخشی از رشته با یونیکد UTF8...

تابع معمولی substr در php برای رشته های یونیکدی جواب نمی دهد. در واقع در رشته های یونیکد دار هر حرف از ترکیب سه یا چهار حرف اسکی که کد اسکی آنها بیشتر از 127 است تشکیل شده است. لذا نیاز است تا برای ای...

بررسی کردن وجود اندیس در آرایه تو در تو در زبان php...

گاهی لازم است وجود یک اندیس در یک آرایه تو در تو را مشخص کرد. تابع زیر به این درخواست ما پاسخ میدهد و وجود اندیس درخواستی ما را در تو در تو ترین آرایه جستجو میکند......

تابع بررسی صحت url...

تابع بررسی صحت یو آر ال. function is_valid_url($url) { return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url); }...