本文整理汇总了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;
}
示例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':
//.........这里部分代码省略.........