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_strwidthReturn width of string

Description

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

Returns the width of string str.

Multi-byte characters are usually twice the width of single byte characters.

Characters width
Chars Width
U+0000 - U+0019 0
U+0020 - U+1FFF 1
U+2000 - U+FF60 2
U+FF61 - U+FF9F 1
U+FFA0 - 2

Parameters

str

The string being decoded.

encoding

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Return Values

The width of string str.

See Also



add a note add a note User Contributed Notes mb_strwidth
larry1chan at gmail dot com 06-Feb-2008 10: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 04: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