Как сделать так чтобы на главной, длинные тексты из гостевой обрезались заданный ограничение пример до 35 символов?
Добавлено: 12.10.2017 / 09:49
Скрин
Добавлено: 12.10.2017 / 09:56
///Ссылка на гостевую////
if ($set['mod_guest'] || $rights >= 7)
echo '<div class="mainmenu"><b><a href="guestbook/index.php">' . $lng['guestbook'] . '</a></b> (' . counters::guestbook() . ')</div>';
///текст из гостевой////
echo '<div class="list1">';
$guest = mysql_fetch_assoc(mysql_query("SELECT `text` FROM `guest` ORDER BY `time` DESC LIMIT 1"));
echo $guest['text'];
echo '</div>';
сам код
ДоХтор, Спасибо за помощь, работает как надо
# Hasanov (12.10.2017 / 12:12)
ДоХтор, Спасибо за помощь, работает как надо
Может быть ещё добавить троеточий в конце обрезанного текста? А то так, как сейчас, не очень понятно... Попробуй вместо этой строки :
echo mb_substr($guest['text'], 0, 35, 'UTF-8');
Прописать вот эту строку :
echo mb_substr($guest['text'], 0, 35, 'UTF-8') . ' ... ';
И посмотри, как это будет в браузере выглядеть.
Добавлено: 12.10.2017 / 15:28
ДоХтор, Ну я пробовал так после твоего кода echo '...';
в итоги у меня получился текст и троетощие я подумал что при краткий сообщение в конце триточие будет и поставил в конце смайыл просто ))
Добавлено: 12.10.2017 / 15:39
///Ссылка на гостевую////
if ($set['mod_guest'] || $rights >= 7)
echo '<b><div class="phdr"><a href="guestbook/index.php">' . $lng['guestbook'] . '</a></b> (' . counters::guestbook() . ')</div>';
///текст из гостевой////
echo '<div class="list1">';
$guest = mysql_fetch_assoc(mysql_query("SELECT `text` FROM `guest` ORDER BY `time` DESC LIMIT 1"));
echo mb_substr($guest['text'], 0, 135, 'UTF-8');
echo '<img src="/guestbook/mail.gif" alt="*" class="icon"/>';
echo '</div>';
# Hasanov (12.10.2017 / 15:39)
ДоХтор, Ну я пробовал так после твоего кода echo '...';
в итоги у меня получился текст и троетощие я подумал что при краткий сообщение в конце триточие будет и поставил в конце смайыл просто ))
Можно просто добавить проверку по условию, и тогда точки будут добавляться только при длинных постах в гостевой :
* (+/-)
///Ссылка на гостевую////
$length = 35; // Длина строки, после которой обрезать лишнее
if ($set['mod_guest'] || $rights >= 7)
echo '<div class="mainmenu"><b><a href="guestbook/index.php">' . $lng['guestbook'] . '</a></b> (' . counters::guestbook() . ')</div>';
///текст из гостевой////
echo '<div class="list1">';
$guest = mysql_fetch_assoc(mysql_query("SELECT `text` FROM `guest` ORDER BY `time` DESC LIMIT 1"));
$text_guest = $guest['text'];
if (mb_strlen($text_guest, 'UTF-8') > $length) {
$text_guest = mb_substr($text_guest, 0, $length, 'UTF-8') . ' ... ';
}
echo $text_guest . '</div>';
ДоХтор, Можно упростить))
SELECT SUBSTR(text, 1, 35) FROM `guest` ORDER BY `time` DESC LIMIT 1
По концу слова
function clip_word($string, $clip)
{
if ($clip < strlen($string))
{
$string = iconv('UTF-8', 'windows-1251//IGNORE', $string);
$string = implode(array_slice(explode('<br>', wordwrap($string, $clip, '<br>', false)),
0, 1));
$string = iconv('windows-1251', 'UTF-8', $string);
$string .= '...';
}
return $string;
}
kantry, да. Так даже лучше.
За кончиной процесс!
///Ссылка на гостевую////
$length = 132; //Длина строки, после которой обрезать лишнее//
if ($set['mod_guest'] || $rights >= 7)
echo '<div class="phdr"><b><a href="guestbook/index.php">' . $lng['guestbook'] . '</a></b> (' . counters::guestbook() . ')</div>';
///текст из гостевой////
echo '<div class="list1">';
$guest = mysql_fetch_assoc(mysql_query("SELECT `text` FROM `guest` ORDER BY `time` DESC LIMIT 1"));
$text_guest = $guest['text'];
if (mb_strlen($text_guest, 'UTF-8') > $length) {
$text_guest = mb_substr($text_guest, 0, $length, 'UTF-8') . ' <a href="guestbook/index.php"><font color="#FF0000">Дальше...</font>';
}
echo $text_guest . '</div>';