Ce face mb_strwidth
În terminale și fonturi monospațiate, caracterele chinezești, japoneze sau coreene ocupă cât două litere obișnuite. mb_strwidth numără literele obișnuite (inclusiv cele cu diacritice) cu 1 și caracterele late cu 2.
Este folosită împreună cu mb_strimwidth pentru alinierea textului în tabele afișate în terminal.
Parametri
| Parametru | Descriere |
|---|---|
$string |
Textul măsurat. |
$encoding |
Opțional. Codarea textului. |
Ce returnează
Lățimea de afișare.
Exemple
Exemplul 1: Lățime, caractere și octeți
<?php
foreach (["Iași", "東京", "Tokyo 東京"] as $text) {
echo "$text: lățime " . mb_strwidth($text) . ", caractere " . mb_strlen($text) . ", octeți " . strlen($text) . "\n";
}
Rezultat
Iași: lățime 4, caractere 4, octeți 5
東京: lățime 4, caractere 2, octeți 6
Tokyo 東京: lățime 10, caractere 8, octeți 12
Greșeli frecvente
- Folosești
mb_strwidthpentru a număra caracterele. Pentru texte cu caractere asiatice rezultatul diferă; numărul de caractere îl dămb_strlen.
Comenzi înrudite
mb_strimwidth: Scurtează un text la o lățime dată și adaugă un marcaj la final, de exemplu „…”.mb_strlen: Returnează lungimea unui text în caractere, numărând corect literele cu diacritice.mb_str_pad: Completează un text până la o lungime dată, numărând corect caracterele cu diacritice.