Как сделать так чтобы на главной, длинные тексты из гостевой обрезались заданный ограничение пример до 35 символов?
Как сделать так чтобы на главной, длинные тексты из гостевой обрезались заданный ограничение пример до 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"));
echo $guest['text'];
echo '</div>';///Ссылка на гостевую////
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 mb_substr($guest['text'], 0, 35, 'UTF-8');
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') . ' ... '; И посмотри, как это будет в браузере выглядеть. ///Ссылка на гостевую////
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 1function 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>';