[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как ограничить вывод текста?
baka
Подскажите пожалуйста (ну или ссылку дайте) как сделать ограничение на вывод текста, например чтобы в анонсе новости выводилось только 50 знаков а затем проставлялись "...". Спасибо.



Спустя 6 минут, 30 секунд (3.12.2009 - 00:57) krasilich написал(а):

$symb; //количество символов
$text; //весь текст
$announce = substr($text, 0, $symb);

Спустя 2 минуты, 19 секунд (3.12.2009 - 00:59) baka написал(а):
Спасибо smile.gif

Спустя 7 минут, 30 секунд (3.12.2009 - 01:07) baka написал(а):
Сделал, но еще нужно чтобы не обрезало слова.

Спустя 15 минут, 29 секунд (3.12.2009 - 01:22) krasilich написал(а):
обрежь конец строки до ближайшего пробела.

Спустя 6 минут, 25 секунд (3.12.2009 - 01:29) Adil написал(а):
Гугли:
обрезать строку не обрезая слов

Один вариант от поиска:



//(str Строка, int Максимальная длинна, str Разделитель)
function toCut($str,$len=16,$div=" "){
//Обрезка Строки до заданной максимальной длинны, с округлением до посленего символа - разделителя (в меньшую сторону)
//например toCut('Мама мыла раму',14," ") вернет "Мама мыла"

if (strlen($str)<=$len){
return $str;
}
else{
$str=substr($str,0,$len);
$pos=strrpos($str,$div);
$str=substr($str,0,$pos);
return $str;
}
}

Спустя 1 день, 11 часов, 20 минут, 51 секунда (4.12.2009 - 12:50) Yuras21 написал(а):
Очень классный скриптик по ограничению текста:


<script language="javascript">
var MaxLength = 255;
function DisplayLength(){
if ( Send_Message.message.value.length > MaxLength ) {
Send_Message.message.value = Send_Message.message.value.substr( 0, MaxLength );
}

Send_Message.remainchars.value = MaxLength - Send_Message.message.value.length;
}

function CheckLength(){
event.returnValue = Send_Message.message.value.length < MaxLength || document.selection.type != "None";
}
</script>

<form action="text.php" method="post" name="Send_Message">

<p><strong>Text:</strong> <br>
<textarea name="message" rows="5" cols="40" WRAP="physical" onPropertyChange="DisplayLength();" onKeyPress="DisplayLength();CheckLength();" onPaste="CheckLength();"></textarea><br> <br>
<input type="text" name="remainchars" value="255" size="3" readonly>
символов.
</form>

Спустя 12 минут, 7 секунд (4.12.2009 - 13:02) b00tanik написал(а):
Можно так


/**
* Обрезает $text до длины $len, не разрывая предлoжения.
*/

function AdvSubstr($text, $len){
preg_match("/.{$len}[^.!;?]*[.!;?]/si", $text.". ", $matches);
return $matches[0];
}

Спустя 14 минут, 33 секунды (4.12.2009 - 13:16) Gabriel написал(а):
а текст из БД тянется или?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.