до ближайшего места
Обрезает до ближайшего предшествующего пробела целевого персонажа. Демо
$str
Строка для усечения
$chars
Количество символов, которые нужно удалить, может быть переопределено на $to_space
$to_space
boolean
для того, чтобы урезать или нет из пространства около $chars
limit
Функция
function truncateString($str, $chars, $to_space, $replacement="...") {
if($chars > strlen($str)) return $str;
$str = substr($str, 0, $chars);
$space_pos = strrpos($str, " ");
if($to_space && $space_pos >= 0)
$str = substr($str, 0, strrpos($str, " "));
return($str . $replacement);
}
Sample
<?php
$str = "this is a string that is just some text for you to test with";
print(truncateString($str, 20, false) . "\n");
print(truncateString($str, 22, false) . "\n");
print(truncateString($str, 24, true) . "\n");
print(truncateString($str, 26, true, " :)") . "\n");
print(truncateString($str, 28, true, "--") . "\n");
?>
выход
this is a string tha...
this is a string that ...
this is a string that...
this is a string that is :)
this is a string that is--