當前位置: 首頁>>代碼示例>>PHP>>正文


PHP UTF8::length方法代碼示例

本文整理匯總了PHP中UTF8::length方法的典型用法代碼示例。如果您正苦於以下問題:PHP UTF8::length方法的具體用法?PHP UTF8::length怎麽用?PHP UTF8::length使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在UTF8的用法示例。


在下文中一共展示了UTF8::length方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: lessen

 static function lessen($str, $chars, $tail = '...')
 {
     if (UTF8::length($str) <= $chars) {
         $tail = '';
     } else {
         $chars -= UTF8::length($tail);
     }
     if (function_exists('mb_substr')) {
         return mb_substr($str, 0, $chars, 'utf-8') . $tail;
     }
     $len = strlen($str);
     for ($i = $adapted = 0; $i < $len; $adapted = $i) {
         $high = ord($str[$i]);
         if ($high < 0x80) {
             $i += 1;
         } else {
             if ($high < 0xe0) {
                 $i += 2;
             } else {
                 if ($high < 0xf0) {
                     $i += 3;
                 } else {
                     $i += 4;
                 }
             }
         }
         if (--$chars < 0) {
             break;
         }
     }
     return trim(substr($str, 0, $adapted)) . $tail;
 }
開發者ID:jinbonetwork,項目名稱:collective-agreement-database,代碼行數:32,代碼來源:UTF8.class.php

示例2: validateArray

 public static function validateArray(&$array, &$rules)
 {
     // Workaround for non Fancy-URL user.
     $cropArray = array();
     foreach ($array as $name => $value) {
         $doesHaveRequest = strpos($name, '?');
         if ($doesHaveRequest !== false) {
             $name = substr($name, $doesHaveRequest + 1);
         }
         $cropArray[$name] = $value;
     }
     $array = $cropArray;
     foreach ($rules as $key => $rule) {
         if (!isset($rule[0])) {
             trigger_error("Validator: The type of '{$key}' is not defined", E_USER_WARNING);
             continue;
         }
         if (isset($array[$key]) && ($rule[0] == 'file' || strlen($array[$key]) > 0)) {
             $value =& $array[$key];
             if (isset($rule['min'])) {
                 $rule[1] = $rule['min'];
             }
             if (isset($rule['max'])) {
                 $rule[2] = $rule['max'];
             }
             if (isset($rule['bypass'])) {
                 $rule[3] = $rule['bypass'];
             }
             switch ($rule[0]) {
                 case 'any':
                     if (isset($rule[1]) && strlen($value) < $rule[1]) {
                         return false;
                     }
                     if (isset($rule[2]) && strlen($value) > $rule[2]) {
                         return false;
                     }
                     break;
                 case 'bit':
                     $array[$key] = self::getBit($value);
                     break;
                 case 'bool':
                     $array[$key] = self::getBool($value);
                     break;
                 case 'number':
                     if (!self::number($value, isset($rule[1]) ? $rule[1] : null, isset($rule[2]) ? $rule[2] : null, isset($rule[3]) ? $rule[3] : false)) {
                         return false;
                     }
                     break;
                 case 'int':
                     if (!self::isInteger($value, isset($rule[1]) ? $rule[1] : -2147483648, isset($rule[2]) ? $rule[2] : 2147483647, isset($rule[3]) ? $rule[3] : false)) {
                         return false;
                     }
                     break;
                 case 'id':
                     if (!self::id($value, isset($rule[1]) ? $rule[1] : 1, isset($rule[2]) ? $rule[2] : 2147483647)) {
                         return false;
                     }
                     break;
                 case 'url':
                 case 'string':
                     if (!UTF8::validate($value)) {
                         $value = UTF8::bring($value);
                         if (!UTF8::validate($value)) {
                             return false;
                         }
                     }
                     $value = $array[$key] = UTF8::correct($value);
                     if (isset($rule[1]) && UTF8::length($value) < $rule[1]) {
                         return false;
                     }
                     if (isset($rule[2]) && UTF8::length($value) > $rule[2]) {
                         return false;
                     }
                     break;
                 case 'list':
                     if (!self::isList($value)) {
                         return false;
                     }
                     break;
                 case 'timestamp':
                     if (!self::timestamp($value)) {
                         return false;
                     }
                     break;
                 case 'period':
                     if (!self::period($value)) {
                         return false;
                     }
                     break;
                 case 'ip':
                     if (!self::ip($value)) {
                         return false;
                     }
                     break;
                 case 'phone':
                     if (!self::phone($value)) {
                         return false;
                     }
                     break;
                 case 'domain':
//.........這裏部分代碼省略.........
開發者ID:jinbonetwork,項目名稱:collective-agreement-database,代碼行數:101,代碼來源:Validator.class.php


注:本文中的UTF8::length方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。