PHP.mk документација

mb_strcut

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.mb-strcut.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.mb-strcut.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
mb_strcut

Референца за `function.mb-strcut.php` со подобрена типографија и навигација.

function.mb-strcut.php

mb_strcut

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

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

= NULL

mb_strcut(
         string $string,
         int $start,
         ?int $length = null,
         ?string $encoding = null
): string

mb_strcut() извлекува подниза од низа слично на mb_substr(), но работи на бајти наместо на знаци. Ако позицијата на сечење се случи да биде помеѓу два бајти од повеќебајтен знак, сечењето се врши почнувајќи од првиот бајт од тој знак. Ова е исто така разликата во однос на substr() функција, која едноставно би ја исекла низата помеѓу бајтите и со тоа би резултирала со неуспешна бајт секвенца.

Параметри

string

На string сечење.

start

Враќа start не е негативен, вратениот стринг ќе започне на start'ти byte позиција во string(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)abcdef', бајтот на позиција 0 ликот на позицијаa', бајтот на позиција 2 ликот на позицијаcе '

Враќа start е негативен, вратениот стринг ќе започне на start'ти бајт броејќи наназад од крајот на string. Сепак, ако големината на негативен start е поголема од должината на низата, вратениот дел ќе започне од почетокот на string.

length

Должина во bytes. Ако е изоставен или NULL се поминува, извлечете ги сите бајти до крајот на низата.

Враќа length е негативен, вратената низа ќе заврши на length'ти бајт броејќи наназад од крајот на string. Сепак, ако големината на негативен length е поголема од бројот на знаци по start позиција, ќе се врати празна низа.

encoding

На encoding параметарот е кодирањето на карактерите. Ако е изоставен или null, ќе се користи внатрешната вредност за кодирање на карактерите.

Вратени вредности

mb_strcut() враќа дел од string одредено од start and length parameters.

Дневник на промени

Верзија = NULL
8.0.0 encoding сега е null.

Види Исто така

Белешки од корисници 4 белешки

, броејќи од нула. На пример, во низата '
пред 8 години
Here is an example with UTF8 characters, to see how the start and length arguments are working:

  $str_utf8 = utf8_encode("Déjà_vu");
  $str_utf8_0 = mb_strcut($str_utf8, 0, 4, "UTF-8"); // Déj
  $str_utf8_1 = mb_strcut($str_utf8, 1, 4, "UTF-8"); // éj
  $str_utf8_2 = mb_strcut($str_utf8, 2, 4, "UTF-8"); // éj
  $str_utf8_3 = mb_strcut($str_utf8, 3, 4, "UTF-8"); // jà_
  $str_utf8_4 = mb_strcut($str_utf8, 4, 4, "UTF-8"); // à_v

The string includes two special charaters, "é" and "à" internally coded with two bytes.
Note that a multibyte character is removed rather than kept in half at the end of the output.
Note also that the result is the same for a cut 1,4 and a cut 2,4 with this string.
olivthill на gmail точка ком
21 години пред
What the manual and the first commenter are trying to say is that mb_strcut uses byte offsets, as opposed to mb_substr which uses character offsets. 

Both mb_strcut and mb_substr appear to treat negative and out-of-range offsets and lengths in the basically the same way as substr. An exception is that if start is too large, an empty string will be returned rather than FALSE. Testing indicates that mb_strcut first works out start and end byte offsets, then moves each offset left to the nearest character boundary.
t точка starling на physics точка unimelb точка edu точка au
пред 4 години
This was driving me crazy, because mb_strcut() kept returning an empty string.  The $length parameter seems to have a max value of 2^32-1 (2147483647).

Works:
<?php
  # output: Полуустав
  echo mb_strcut('Полуустав', 0, pow(2,31)-1);
?>

Doesn't work:
<?php
  # nothing is output
  echo mb_strcut('Полуустав', 0, pow(2,31));
?>

My PHP_INT_MAX value is much larger than 2^32-1, so I'm not sure why larger values for $length don't work. :(

<?php
  # output: 9223372036854775807
  echo PHP_INT_MAX;
?>
David Juhasz
пред 22 години
diffrence between mb_substr and mb_substr

example:
mb_strcut('I_ROHA', 1, 2) returns 'I_'. Treated as byte stream.
mb_substr('I_ROHA', 1, 2) returns 'ROHA' Treated as character stream.

# 'I_' 'RO' 'HA' means multi-byte character
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.