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



 

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

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

5 страниц V   1 2 3 4 5 >
Открыть тему
Тема закрыта
> Разбиение текста на страницы
bozhkov
bozhkov
Topic Starter сообщение 4.8.2009, 16:25; Ответить: bozhkov
Сообщение #1


Доброго времени, друзья!
Подскажите полному лоху в пхп, возможно ли такое сделать. И если возможно, то как?

Есть сайт с большими объемами статичной текстовой информации. Сейчас это все вручную разбито на хтмл-страницы и вручную же сделана навигация. Никаких баз данных там рядом не лежало.
Можно ли средствами пхп автоматизировать это дело?
То есть чтобы текст автоматом разбивался на страницы (например по количеству строк или символов) и создавалась навигация - стр. 1 2 3 4... и т д?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 4.8.2009, 16:40; Ответить: Apay
Сообщение #2


прежде чем задавать вопросы желательно воспользоваться поиском по форуму, например здесь написанно как разбивать на страницы
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bozhkov
bozhkov
Topic Starter сообщение 4.8.2009, 16:42; Ответить: bozhkov
Сообщение #3


Я видел эту тему - там речь идет о ситуации, когда скрипт берет инфу из базы данных - у меня их нет

И потом там все уж больно мудрено ;))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
сообщение 4.8.2009, 17:27; Ответить: Licoric
Сообщение #4


если в принципе подразумевается использовать php то добавьте таблицы в базу и возьмите, образно говоря, по 2-2.5К символов из текущего текстового файла, округляйте до точки, добавляйте в базу с записью. Ну а по страничкам это все выводить - вот тема. Там я себе делал аналогичную работу (в плане разбивки).
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 4.8.2009, 17:27; Ответить: Apay
Сообщение #5


вот примерно как дожно все быть, предупреждаю, не отлаживал, могуть быть ошибочки
[php]// возвращвет текст страницы $page
function get_page( $text, $page, $chars_per_page, $start ){
if( $page < 1 ) return ""; // защита от дурака
$end = strpos( $text, '<p>', $start+$chars_per_page );
if( $end === false ) $end = strlen($text);
if( $page == 1 ) return substr( $text, $start, $end ); // искомая страница
if( $start == $end ) return ""; // дальше ничего нет
return get_page( $text, $page-1, $chars_per_page, $end );
}

function get_pages_count( $text, $chars_per_page ){
$pages = 1;
$pos = 0;
while( ( $pos = $text, '<p>', $pos ) !== false )
$pages++;
return $pages;
}

function paginate( $this_url, $text, $chars_per_page ){
if( strlen($text) <= $chars_per_page )
echo $text;
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$pages = get_pages_count( $text, $chars_per_page );
echo '<p style="text-align:center;">';
for( $i = 1; $i <= $pages; $i++ ){
if( $i == $page ) echo ' <b>'.$i.'</b>';
echo ' <a href="'.$this_url.'?page='.$i.'">'.$i.'</a>';
}
echo '</p><hr />';
echo get_page( $text, $page, $chars_per_page, 0 );
}[/php]основная ф-я - paginate
это самый простой вариант, в нем нет анализа html и прочего
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bozhkov
bozhkov
Topic Starter сообщение 4.8.2009, 17:30; Ответить: bozhkov
Сообщение #6


(Licoric @ 4.8.2009, 20:27) *
если в принципе подразумевается использовать php то добавьте таблицы в базу....


Господа, да вы чего? Ну говорю же - НЕТ БАЗЫ!!!! Незачем она там!!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bozhkov
bozhkov
Topic Starter сообщение 4.8.2009, 17:33; Ответить: bozhkov
Сообщение #7


(Apay @ 4.8.2009, 20:27) *
вот примерно как дожно все быть, предупреждаю, не отлаживал, могуть быть ошибочки


Э-э-э, и как и куда это прикручивать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 4.8.2009, 17:59; Ответить: Apay
Сообщение #8


вызывать ф-ю paginate,
первый параметр - урл страницы, например http://my.site.ru/srories/bla-bla-bla/
второй - сам текст (html), который надо вывести постранично
третий - примерное кол-во символов на странице (по этому параметру идет разбивка)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bozhkov
bozhkov
Topic Starter сообщение 4.8.2009, 21:17; Ответить: bozhkov
Сообщение #9


примерно понял, пошел пробовать ;)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bozhkov
bozhkov
Topic Starter сообщение 4.8.2009, 21:36; Ответить: bozhkov
Сообщение #10


(Apay @ 4.8.2009, 20:59) *
вызывать ф-ю paginat


а как ее вызвать?

(Apay @ 4.8.2009, 20:59) *
первый параметр - урл страницы)


Это который if( $page < 1 ) return "вот здесь?"; // защита от дурака

(Apay @ 4.8.2009, 20:59) *
третий - примерное кол-во символов на странице (по этому параметру идет разбивка)t


а это где?

(Я ж говорил, я ПОЛНЫЙ лох в пхп ;(( )
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
5 страниц V   1 2 3 4 5 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужно ли закрывать ненужные страницы тегом noindex, follow?
8 noviktamw 2906 2.3.2024, 12:53
автор: toplinks
Открытая тема (нет новых ответов) Перевод текста в речь нейросетями - сервис Zvukogram
13 Zvukogram 7193 19.2.2024, 18:16
автор: freon_mr777
Открытая тема (нет новых ответов) 📌 Рандомизация видео/аудио/фото/текста с минимальным участием - 𝓓𝓮𝓵𝓽𝓪𝓣𝓸𝓸𝓵𝓼
Мы предлагаем комплексное решение для рандомизации всех видов офера
2 leviathan 1377 29.1.2024, 21:29
автор: leviathan
Открытая тема (нет новых ответов) Вытащить страницы из кэша Яндекса
2 VostrVL 1960 11.1.2024, 23:07
автор: ЛаврионСергеевич
Открытая тема (нет новых ответов) Нужен перевод текста с RU на UZ
0 REGNET 766 22.2.2023, 15:17
автор: REGNET


 



RSS Текстовая версия Сейчас: 20.4.2024, 1:28
Дизайн