多字节字符串 函数
在线手册:中文  英文

mb_strimwidth

(PHP 4 >= 4.0.6, PHP 5)

mb_strimwidth获取按指定宽度截断的字符串

说明

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

width字符串 str 截短。

参数

str

要截短的 string

start

开始位置的偏移。从这些字符数开始的截取字符串。(默认是 0 个字符)

width

所需修剪的宽度。

trimmarker

当字符串被截短的时候,将此字符串添加到截短后的末尾。

encoding

encoding 参数为字符编码。如果省略,则使用内部字符编码。

返回值

截短后的 string。 如果设置了 trimmarker,还会将 trimmarker 追加到返回的值。

范例

Example #1 mb_strimwidth() 例子

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

参见


多字节字符串 函数
在线手册:中文  英文

用户评论:

CBieser (2008-08-26 00:50:44)

<?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/);
    
$secondStart mb_strwidth$value$valueEncoding ) - ( $length $firstWidth );
    
$secondWidth $length $firstWidth +1;
    
$limited mb_strimwidth$value0$firstWidth'...'$valueEncoding ) . mb_substr$value$secondStart$secondWidth$valueEncoding );
    return 
$limited;
}
?>

josiah dot ritchie at gmail dot com (2007-09-13 11:48:45)

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))."..."

易百教程