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

mb_strimwidth

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

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

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

function.mb-strimwidth.php

mb_strimwidth

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

mb_strimwidthДобиј скратен стринг со одредена ширина

= NULL

mb_strimwidth(
         string $string,
         int $start,
         int $width,
         string $trim_marker = "",
         ?string $encoding = null
): string

Скратува string string до наведениот width, каде што знаците со половина ширина се бројат како 1, а знаците со полна ширина се бројат како 2. Види » http://www.unicode.org/reports/tr11/ за детали во врска со ширините на источните азиски знаци.

Параметри

string

На string се декодира.

start

Почетната позиција на поместување. Број на знаци од почетокот на стрингот (првиот знак е 0), или ако почетокот е негативен, број на знаци од крајот на стрингот.

width

Ширината на посакуваното скратување. Ако е специфицирана негативна ширина, брои од крајот на стрингот.

Забелешка:

Поминувањето негативна ширина е застарено од PHP 8.3.0.

trim_marker

Стринг што се додава на крајот од стрингот кога стрингот е скратен.

encoding

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

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

Скратениот string. Ако trim_marker е поставено, trim_marker ги заменува последните знаци за да одговара на width.

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

Верзија = NULL
8.3.0 Поминување негативен width to mb_strimwidth() не е валидна опција
8.0.0 encoding сега е null.
7.1.0 се генерира грешка на ниво на Windows, а од PHP 7.4 и на други оперативни системи. startи widthПоддршката за негативни

Примери

Пример #1 mb_strimwidth() example

<?php
echo mb_strimwidth("Hello World", 0, 10, "...");
// output: "Hello W..."
?>

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

  • mb_strwidth() - Врати ја ширината на стрингот
  • mb_internal_encoding() - Постави/Земи внатрешно кодирање на карактери

Белешки од корисници 2 забелешки

dregad на NOSPAM-mantisbt dot org
пред 2 години
I see a lot of usage in the field where people rely on this function to truncate a string to a given length and append some chars at the end following example #1 in the above documentation.

While this works just fine with Western alphabets, it should be noted that a string's width is NOT necessarily the same as its length.

In Chinese, Japanese and Korean, some characters can be represented as full or half width, which may lead to unexpected results...

<?php
$str = ['English' => 'Switzerland',
        'Half width' => 'スイス',
        'Full width' => 'スイス',
       ];
foreach ($str as $w => $s) {
    printf("%-10s: %s (bytes=%d chars=%d width=%d)\nSubstring : %s\nTrim width: %s\n\n",
        $w, $s,
        strlen($s), mb_strlen($s), mb_strwidth($s),
        mb_substr($s, 0, 3),
        mb_strimwidth($s, 0, 3)
    );
}
/* Output
# With ASCII, chars == width, so everything works as expected
English   : Switzerland (bytes=11 chars=11 width=11)
Substring : Swi
Trim width: Swi

# With half-width katakanas, it works too
Half width: スイス (bytes=9 chars=3 width=3)
Substring : スイス
Trim width: スイス

# Full-width katakanas are twice as wide, so we only get the 1st 'su' !
Full width: スイス (bytes=9 chars=3 width=6)
Substring : スイス
Trim width: ス
*/
>?
jamesgrimshaw2006 на gmail dot com
пред 2 години
mb_strimwidth will only append "trim_marker" if the string is over the width.

*test code*
     $HashTags = 'Results';
     $socialmediatext = 'abcdefghijklmnopqrstuvwxyz';
     for( $i=0; $i<=20; $i++ )
     {
         $socialmediatext .= '.';
         $Twittext = mb_strimwidth($socialmediatext,0,35,$HashTags);
         echo "<p>[".strlen($Twittext)."]$Twittext</p>";
     }

*output*
[27]abcdefghijklmnopqrstuvwxyz.
[28]abcdefghijklmnopqrstuvwxyz..
[29]abcdefghijklmnopqrstuvwxyz...
[30]abcdefghijklmnopqrstuvwxyz....
[31]abcdefghijklmnopqrstuvwxyz.....
[32]abcdefghijklmnopqrstuvwxyz......
[33]abcdefghijklmnopqrstuvwxyz.......
[34]abcdefghijklmnopqrstuvwxyz........
[35]abcdefghijklmnopqrstuvwxyz.........
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
[35]abcdefghijklmnopqrstuvwxyz..Results
На оваа страница

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

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

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

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

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