PHP 8.1.31 Released!

mb_strwidth

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

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

Описание

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

Возвращает ширину строки (string) string, где символы половинной ширины считаются 1, а символы полной ширины считаются 2. Смотрите » http://www.unicode.org/reports/tr11/ для получения подробной информации о ширине символов Восточной Азии.

Символы полной ширины: 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. Все остальные символы относятся к символам полуширины.

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

string

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

encoding

Параметр encoding устанавливает кодировку символов. Функция установит для параметра значение внутренней кодировки символов, если аргумент не передали или передали значение null.

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

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

Список изменений

Версия Описание
8.0.0 Теперь параметр encoding принимает значение null.

Примеры

Пример #1 Пример использования функции mb_strwidth()

<?php

var_dump
(
mb_strwidth('a'), // латинская строчная буква а
mb_strwidth("\u{ff41}") // латинская строчная буква а полной ширины
);
?>

Результат выполнения приведённого примера:

int(1)
int(2)

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

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

Добавить

Примечания пользователей 2 notes

up
1
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.)
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()
To Top