精确截断长字符串中间

Avatar of Chris Coyier
Chris Coyier

这将把较长的字符串截断为指定长度的较短字符串(例如,下面代码中的“25”值),同时用分隔符替换中间部分,并将分隔符放置在字符串的正中间。当您需要截断字符串但仍然显示开头(例如,为了排序以及因为它最容易识别)以及结尾(也许是为了显示文件名)时,此方法很有用。

<?php

$longString = 'abcdefghijklmnopqrstuvwxyz0123456789z.jpg';
$separator = '/.../';
$separatorlength = strlen($separator) ;
$maxlength = 25 - $separatorlength;
$start = $maxlength / 2 ;
$trunc =  strlen($longString) - $maxlength;

echo substr_replace($longString, $separator, $start, $trunc);

//prints "abcdefghij/.../56789z.jpg"

?>