X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Обрезка текста
Валериан
Валериан
Topic Starter сообщение 31.1.2011, 22:59; Ответить: Валериан
Сообщение #1


Добрый вечер! В соц. сети ВКонтакте в разделе "Сообщения" отправляется таблица с сообщениями и если сообщение большое, то оно обрезается, после чего ставится "...". На своем сайте я сделал такую табличку, но не могу понять, каким образом обрезать сообщения, если кол-во символов превышает, предположим, 1000 знаков. Подскажите пожалуйста.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
DoctorX
DoctorX
сообщение 31.1.2011, 23:33; Ответить: DoctorX
Сообщение #2


[PHP]
if (strlen($str) > MAX)
{
$str = substr(0, MAX, $str).'...'; // Тут в параметрах не уверен...
}
[/PHP]


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Валериан
Валериан
Topic Starter сообщение 1.2.2011, 0:08; Ответить: Валериан
Сообщение #3


А куда подставлять этот скрипт?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 1.2.2011, 0:17; Ответить: r3ntg3n
Сообщение #4


(Валериан @ 1.2.2011, 02:08) *
А куда подставлять этот скрипт?

А туда, где Вы собрались обрезать текст. Нам то откуда знать, где Вы его обрезаете (с). Чтобы не получать глупых ответов, не задавайте глупые вопросы (с). Вы спросили, как это можно сделать. Вам товарищ Doc.X любезно ответил, намного ошибившись с параметрами. Но это не столь важно. [PHP]$string = substr($string, 0, 1000);[/PHP]

Если Вы собрались укорачивать текст при выводе списка последних новостей - укорачивайте методами БД. В мускуле есть чудесные функции для работы с текстом. Если же Вы хотите ограничить количество символов, которые может ввести пользователь, тот тут либо проверка javascript'ом, либо запись в БД только первых 1000 символов, но их надо вырезать после отправки формы обработчиком.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Валериан
Валериан
Topic Starter сообщение 1.2.2011, 0:44; Ответить: Валериан
Сообщение #5


Да в том то и дело, что данные выводятся из БД, но никак не могу найти функцию для обрезки.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 1.2.2011, 1:01; Ответить: r3ntg3n
Сообщение #6


используйте обрезку прямо в запросе
[PHP]$query = "SELECT `id`, `date`, `title`, LEFT(`content`, 250) as `cut` FROM `table`;
$result = $db->query($query);
while (($row = $result->fetch_assoc()) != null) {
echo "<i>" . $row['date'] . "</i> <b>" . $row['title'] . "</b><br/>"
. $row['cut'] . "... <a href=\"news.php?id=" . $row['id'] . "\">Read more...</a><br/><br/>";
}[/PHP]

Вот Вам инфа по работе со строками в запросах MySQL: http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 1.2.2011, 1:23; Ответить: Letmetouchyou
Сообщение #7


такими способами бока могу быть, если в тексте содержуться html теги например
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Валериан
Валериан
Topic Starter сообщение 1.2.2011, 13:21; Ответить: Валериан
Сообщение #8


r3ntg3n, поставил такой запрос, пишет "Fatal error: Call to a member function query() on a non-object in Z:\home\localhost\www\ulitka\test.php on line 5" (5-ая строка это $result = $db->query($query);)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 1.2.2011, 23:24; Ответить: r3ntg3n
Сообщение #9


(Letmetouchyou @ 1.2.2011, 03:23) *
такими способами бока могу быть, если в тексте содержуться html теги например

согласен, с тегами надо быть аккуратней, ато стиль текстов на странице могут "порвать".

Валериан, по поводу Вашей ошибки. Для того, чтобы использовать метод query() объекта db, надо сначала этот объект создать. Тоесть создать объект класса mysqli - mysql improved. Создается очень просто.
[PHP]$db = new mysqli('localhost', 'user', 'password', 'database');[/PHP]
Все, можете пользоваться. Но, надо поставить расширение mysqli + адаптировать весь код взаимодействия с базой как при работе с объектами, то есть, перейти на ООП. Или же просто использовать Ваш метод отправки запросов в БД.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Перевод текста в речь нейросетями - сервис Zvukogram
13 Zvukogram 7192 19.2.2024, 18:16
автор: freon_mr777
Открытая тема (нет новых ответов) 📌 Рандомизация видео/аудио/фото/текста с минимальным участием - 𝓓𝓮𝓵𝓽𝓪𝓣𝓸𝓸𝓵𝓼
Мы предлагаем комплексное решение для рандомизации всех видов офера
2 leviathan 1377 29.1.2024, 21:29
автор: leviathan
Открытая тема (нет новых ответов) Нужен перевод текста с RU на UZ
0 REGNET 765 22.2.2023, 15:17
автор: REGNET
Открытая тема (нет новых ответов) Наполнение сайта Автотематики (написание текста с размещением)
Ищу человека для длительного сотрудничества
2 NYLesha 1832 1.8.2022, 23:22
автор: NYLesha
Открытая тема (нет новых ответов) Рерайт на постоянку (2-3 текста в неделю)
Авто тематика
2 k62 1799 4.6.2021, 21:20
автор: mark2013


 



RSS Текстовая версия Сейчас: 19.4.2024, 20:48
Дизайн