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() - Устанавливает/получает внутреннюю кодировку скрипта

add a note 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