PHP 8.4.0 RC4 available for testing

mb_strwidth

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strwidthReturn width of string

Beschreibung

mb_strwidth(string $string, ?string $encoding = null): int

Returns the width of string string, where halfwidth characters count as 1, and fullwidth characters count as 2. See » http://www.unicode.org/reports/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.

Parameter-Liste

string

The string being decoded.

encoding

Der Parameter encoding legt die Zeichenkodierung fest. Wird er nicht übergeben, so wird die interne Zeichenkodierung genutzt.

Rückgabewerte

The width of string string.

Changelog

Version Beschreibung
8.0.0 encoding ist nun nullable (akzeptiert den null-Wert).

Beispiele

Beispiel #1 mb_strwidth() example

<?php
var_dump
(
mb_strwidth('a'), // LATIN SMALL LETTER A
mb_strwidth("\u{ff41}") // FULLWIDTH LATIN SMALL LETTER A
);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)
int(2)

Siehe auch

add a note

User Contributed Notes 2 notes

up
0
Adam Altman
10 years ago
Important, if you're looking to trim/cut/truncate a string so that it will fit a certain byte size (for example to fit in a database field), look at: mb_strcut()
up
0
Anonymous
17 years ago
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.)
To Top