Ответ 1
Решение для CSS
Вы можете установить высоту и сделать переполнение скрытым.
span {
display: inline-block;
border: black 1px solid;
width: 300px;
height: 40px;
overflow: hidden;
}
Пример: http://jsfiddle.net/imoda/REs2Q/
Решение PHP
Альтернативой сервера является использование substr
<?php
$string = "Oh squiggly line in my eye fluid. I see you lurking there on the peripheral of my vision. But when I try to look at you, you scurry away. Are you shy, squiggly line? Why only when I ignore you, do you return to the center of my eye? Oh, squiggly line, it alright, you are forgiven.";
echo charlimit($string, 100);
function charlimit($string, $limit) {
return substr($string, 0, $limit) . (strlen($string) > $limit ? "..." : '');
}
?>
Пример: http://codepad.org/OetkaMh6
Это выведет 100 символов строки, а затем добавит ...
Trick, и вам придется изменить количество символов на то, что лучше всего подходит для вашей ситуации. Поскольку он является сторонним сервером, он не будет знать, сколько символов требуется в каждом сценарии для запуска только одного возврата каретки.
В качестве альтернативы вы можете ограничить количество слов:
<?php
$string = "Oh squiggly line in my eye fluid. I see you lurking there on the peripheral of my vision. But when I try to look at you, you scurry away. Are you shy, squiggly line? Why only when I ignore you, do you return to the center of my eye? Oh, squiggly line, it alright, you are forgiven.";
echo wordlimit($string, 20);
function wordlimit($string, $limit) {
$overflow = true;
$array = explode(" ", $string);
$output = '';
for ($i = 0; $i < $limit; $i++) {
if (isset($array[$i])) $output .= $array[$i] . " ";
else $overflow = false;
}
return trim($output) . ($overflow ? "..." : '');
}
?>
Пример: http://codepad.org/WYJFPaD5
Но это то же самое, вы должны приспособить его к "наилучшим образом подходящим"
Надеюсь, что это поможет.