Вход Регистрация
Файл: sys/fnc/utf8_string.php
Строк: 31
<?php

#получение кол-ва символов строки 

function utf8_strlen($str) {
        if (
function_exists('mb_substr')) {
            return 
mb_strlen($str);
        }
        if (
function_exists('iconv')) {
            return 
iconv_strlen($str);
        } else {
#извращенный способ при отсутствии библиотек
        
static $rus;
        if (!isset(
$rus)) {
            
$rus = array('й''ц''у''к''е''н''г''ш''щ''з''х''ъ''ф''ы''в''а''п''р''о''л''д''ж''э''я''ч''с''м''и''т''ь''б''ю''Й''Ц''У''К''Е''Н''Г''Ш''Щ''З''Х''Ъ''Ф''Ы''В''А''П''Р''О''Л''Д''Ж''Э''Я''Ч''С''М''И''Т''Ь''Б''Ю');
        }
        return 
strlen(str_replace($rus'0'$str));
    }
}

#Получение подстроки
function utf8_substr($str$len$dot 1$start 0) {
    if (
utf8_strlen($str) > $len) {
        if (
function_exists('mb_substr')) {
            
$str mb_substr($str$start$len);
        }
        if (
function_exists('iconv')) {
            
$str iconv_substr($str$start$len);
        } else {
            
$out substr($str$start$len);
        } 
// могут появиться нечитаемые символы
        
if ($dot) {
            
$str.=' ...';
        }
    }
    return 
$str;
}
Онлайн: 2
Реклама