обернуть длинный текст в div - PullRequest
1 голос
/ 02 февраля 2010

Я запрашиваю текст из БД. если текст заканчивается слишком длинным, я хочу иметь возможность обернуть текст, скажем, после 400 символов и отобразить «...» в конце. как это можно сделать?

Ответы [ 5 ]

5 голосов
/ 02 февраля 2010

Я бы посоветовал вам не делать этого в вашем запросе.Вы, вероятно, делаете рендеринг пропорциональным шрифтом, что означает, что 400 символов никогда не будут одинакового размера.«...» с большим количеством пробелов позади это немного неловко.

Вы можете запросить все поле и обрезать его с помощью CSS (с ограниченной поддержкой браузера) с помощью:

overflow: hidden;
text-overflow: ellipsis;
1 голос
/ 02 февраля 2010

Если у вас есть текст в строке JavaScript:

newText = text.length > 400 ? (text.slice(0, 400) + ' ...'):text;
0 голосов
/ 11 июня 2013

Использование javascript и jquery (substring ()) может удовлетворить ваши потребности.

var mystring = somethingFromYourDb
var mystringToDisplay = mystring.substring(0,400);
var div = document.createElement('div');
div.innerHTML = mystringToDisplay;
...

Чтобы отобразить конец строки, у вас также есть много способов сделать это. Открытие нового окна с помощью функции jquery "toggle ()", ...

0 голосов
/ 25 августа 2010

Вы можете добавить o-text-overflow к решению Томаса, чтобы расширить поддержку Opera.

0 голосов
/ 02 февраля 2010

В MySQL это:

SELECT (CASE WHEN CHAR_LENGTH(some_column) > 400 THEN CONCAT(SUBSTR(some_column, 1, 400), '...') ELSE some_column END) FROM some_table

Заполните свой столбец, который нужно усечь, и таблицу, но это суть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...