ScotlandPHP

mb_strimwidth

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

mb_strimwidthDizgeyi belirtilen genişlikte kırpar

Açıklama

string mb_strimwidth ( string $dizge , int $başlangıç , int $genişlik [, string $kırpıcı [, string $kodlama ]] )

Belirtilen dizge dizgesini genişlik ile belirtilen genişlikten kırpar.

Değiştirgeler

dizge

Kırpılacak dizge.

başlangıç

Kırpma genişliğinin başlatılacağı konum. Dizgenin başından itibaren sayılır. İlk karakterin indisi 0'dır.

genişlik

Kırpma genişliği.

kırpıcı

Dizge kırpılırken dizgenin sonuna eklenen bir dizge.

kodlama

kodlama değiştirgesinde karakter kodlaması belirtilir. Belirtilmediği takdirde dahili karakter kodlaması kullanılır.

Dönen Değerler

Kırpılmış dizge ile döner. kırpıcı belirtilmişse, kırpıcı dönen değere eklenir.

Örnekler

Örnek 1 - mb_strimwidth() örneği

<?php
$str 
mb_strimwidth($str040"..>");
?>

Ayrıca Bakınız

add a note add a note

User Contributed Notes 3 notes

up
9
josiah dot ritchie at gmail dot com
10 years ago
While having the option to append a string to the end is nice, you can run into the problem of having a space between the append if the width is truncated after a space. I find something like this to be more attractive in the output, although messy in the code.

rtrim(mb_strimwidth($string, 0, 24))."..."
up
-6
CBieser
9 years ago
<?php
function strimwidthCenter( $value, $length = 40 ) {
   
$valueEncoding = mb_detect_encoding( $value, 'auto', true );
    if (
$length >= mb_strwidth( $value, $valueEncoding ) ) {
        return
$value;
    }
   
$limited = '';
   
$firstWidth = ceil( $length/2 );
   
$secondStart = mb_strwidth( $value, $valueEncoding ) - ( $length - $firstWidth );
   
$secondWidth = $length - $firstWidth +1;
   
$limited = mb_strimwidth( $value, 0, $firstWidth, '...', $valueEncoding ) . mb_substr( $value, $secondStart, $secondWidth, $valueEncoding );
    return
$limited;
}
?>
up
-33
Rich Mehta
3 years ago
I had a problem (as in another comment) with a space being between the trailing dots and the subject being truncated. Here's how I fixed it:

<?php str_replace( " .", ".", mb_strimwidth( $subject, 0, 30, "..." ) ); ?>
To Top