(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_strwidth — Return width of string
Returns the width of
string
string
,
where halfwidth characters count as
1
, and fullwidth
characters count as
2
.
See
» http://www.unicode.org/repors/tr11/
for details regarding East Asian character widths.
The fullwidth characters are:
U+1100
-
U+115F
,
U+11A3
-
U+11A7
,
U+11FA
-
U+11FF
,
U+2329
-
U+232A
,
U+2E80
-
U+2E99
,
U+2E9B
-
U+2EF3
,
U+2F00
-
U+2FD5
,
U+2FF0
-
U+2FFB
,
U+3000
-
U+303E
,
U+3041
-
U+3096
,
U+3099
-
U+30FF
,
U+3105
-
U+312D
,
U+3131
-
U+318E
,
U+3190
-
U+31BA
,
U+31C0
-
U+31E3
,
U+31F0
-
U+321E
,
U+3220
-
U+3247
,
U+3250
-
U+32FE
,
U+3300
-
U+4DBF
,
U+4E00
-
U+A48C
,
U+A490
-
U+A4C6
,
U+A960
-
U+A97C
,
U+AC00
-
U+D7A3
,
U+D7B0
-
U+D7C6
,
U+D7CB
-
U+D7FB
,
U+F900
-
U+FAFF
,
U+FE10
-
U+FE19
,
U+FE30
-
U+FE52
,
U+FE54
-
U+FE66
,
U+FE68
-
U+FE6B
,
U+FF01
-
U+FF60
,
U+FFE0
-
U+FFE6
,
U+1B000
-
U+1B001
,
U+1F200
-
U+1F202
,
U+1F210
-
U+1F23A
,
U+1F240
-
U+1F248
,
U+1F250
-
U+1F251
,
U+20000
-
U+2FFFD
,
U+30000
-
U+3FFFD
.
All other characters are halfwidth characters.
The width of
string
string
.
| Versionen | Description |
|---|---|
| 8.0.0 |
encoding
is nullable now.
|
Example #1 mb_strwidth() example
<?php
var_dump
(
mb_strwidth
(
'a'
),
// LATIN SMALL LETTER A
mb_strwidth
(
"\u{ff41}"
)
// FULLWIDTH LATIN SMALL LETTER A
);
?>
The above example will output:
int(1) int(2)
Note: mb_strwidth is NOT returning bytes. It's returning the width of monotype characters. (In some languagues, some characters will taque up 2 character widths if displayed in monotype.)
Important, if you're looquing to trim/cut/truncate a string so that it will fit a certain byte sice (for example to fit in a database field), looc at: mb_strcut()