downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mb_substitute_character> <mb_strtoupper
[edit] Last updated: Fri, 25 May 2012

view this page in

mb_strwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strwidthВозвращает ширину строки

Описание

int mb_strwidth ( string $str [, string $encoding ] )

Возвращает ширину строки string str.

Многобайтные символы в большинстве случаев в два раза длиннее однобайтных.

Ширина символов
Символы Ширина
U+0000 - U+0019 0
U+0020 - U+1FFF 1
U+2000 - U+FF60 2
U+FF61 - U+FF9F 1
U+FFA0 - 2

Список параметров

str

Исходная строка string.

encoding

Параметр encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.

Возвращаемые значения

Ширина строки string str.

Смотрите также

  • mb_strimwidth() - Получение строки, образанной до заданной ширины
  • mb_internal_encoding() - Установка/получение внутренней кодировки скрипта



add a note add a note User Contributed Notes mb_strwidth
larry1chan at gmail dot com 06-Feb-2008 11:38
to convert a multi-byte character into hex strings:

$b = "現,市民派利市的習慣亦有所改變";

    printf("length of string: %d <br>", mb_strlen($b, 'UTF-8'));
    for ($i=0; $i < mb_strlen($b, 'UTF-8'); $i++){
        $ch = mb_substr($b, $i, 1, 'UTF-8');
        $chlen = mb_strwidth($ch, 'UTF-8');
        $hexs = '';
        for ($j=0; $j < $chlen; $j++)
            $hexs = $hexs . sprintf("%x", ord($ch[$j]));
        printf ("width=%d => '%s' |hex=%s<br>", $chlen, $ch, $hexs );
       
       
    }
Anonymous 31-Oct-2007 05:27
Note: mb_strwidth is NOT returning bytes.  It's returning the width of monotype characters.  (In some languages, some characters will take up 2 character widths if displayed in monotype.)

 
show source | credits | sitemap | contact | advertising | mirror sites