CSS Rozwiązanie
można ustawić wysokość i zrobić przelew ukryty.
span {
display: inline-block;
border: black 1px solid;
width: 300px;
height: 40px;
overflow: hidden;
}
Przykład: http://jsfiddle.net/imoda/REs2Q/
PHP Rozwiązanie
Serwer jednostronne alternatywą jest użycie 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's alright, you are forgiven.";
echo charlimit($string, 100);
function charlimit($string, $limit) {
return substr($string, 0, $limit) . (strlen($string) > $limit ? "..." : '');
}
?>
Przykład: http://codepad.org/OetkaMh6
Spowoduje to wyświetlenie 100 znaków ciągu, a następnie dodanie do niego ...
Trick. Będziesz musiał zmienić liczbę postaci, która najlepiej pasuje do Twojej sytuacji. Ponieważ jest to serwer jednostronny, nie będzie wiedział, ile znaków w każdym scenariuszu wystarczy, aby wywołać tylko jeden powrót karetki.
Alternatywnie, można ograniczyć liczbę słów:
<?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's 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 ? "..." : '');
}
?>
Przykład: http://codepad.org/WYJFPaD5
Ale to samo, trzeba dostosować go do "najlepsze dopasowanie"
Nadzieja, która pomaga.
dzięki, ale nie będę w stanie pokazać elipsy za pomocą tej metody, jak sądzę .. czy jest jakiś sposób, aby przetworzyć ciągi po stronie serwera, aby osiągnąć pożądane zachowanie? –
Tak, możesz użyć dowolnej technologii po stronie serwera do obcinania łańcucha do żądanej długości po stronie serwera za pomocą funkcji manipulowania ciągami. Pytanie brzmi, jakie środowisko pracy pracujesz po stronie serwera lub jakiej technologii po stronie serwera znasz najbardziej? Inną rzeczą, którą możesz zrobić, to użyć javascript po stronie klienta, aby skrócić tekst. –
@Sainath Dodałem alternatywę serwerową. –