PHP Doku:: Get truncated string with specified width - function.mb-strimwidth.html

Verlauf / Chronik / History: (45) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzUnterstützung menschlicher Sprache und ZeichenkodierungMultibyte StringMultibyte String Funktionenmb_strimwidth

Ein Service von Reinhard Neidl - Webprogrammierung.

Multibyte String Funktionen

<<mb_strcut

mb_stripos>>

mb_strimwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strimwidthGet truncated string with specified width

Beschreibung

string mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encoding ]] )

Truncates string str to specified width.

Parameter-Liste

str

The string being decoded.

start

The start position offset. Number of characters from the beginning of string. (First character is 0)

width

The width of the desired trim.

trimmarker

A string that is added to the end of string when string is truncated.

encoding

Der encoding Parameter legt das Zeichenencoding fest. Wird er nicht übergeben so wird das interne Zeichenencoding genutzt.

Rückgabewerte

The truncated string. If trimmarker is set, trimmarker is appended to the return value.

Beispiele

Beispiel #1 mb_strimwidth() example

<?php
echo mb_strimwidth("Hello World"010"...");
// outputs Hello W...
?>

Siehe auch


2 BenutzerBeiträge:
- Beiträge aktualisieren...
CBieser
26.08.2008 9:50
<?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;
}
?>
josiah dot ritchie at gmail dot com
13.09.2007 20:48
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))."..."



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)