Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: разбить текст по 100 символов
 
 автор: 31   (30.07.2006 в 23:41)   письмо автору
 
 

Скажите пожалуйста сделать разбивку по страницам.. Вообщем нужно сделать так чтобы допустим разбить текст на страницы и сделать форму ввода допестим Перейти :(и здесь форма в которую можно вводить номер страницы)

   
 
 автор: beng-beng   (31.07.2006 в 01:30)   письмо автору
 
   для: 31   (30.07.2006 в 23:41)
 

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

   
 
 автор: 31   (31.07.2006 в 01:42)   письмо автору
 
   для: beng-beng   (31.07.2006 в 01:30)
 

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

   
 
 автор: cheops   (31.07.2006 в 11:15)   письмо автору
 
   для: 31   (31.07.2006 в 01:42)
 

А какой критерий конца страницы, т.е. как разбивать будем? 100 символов?

   
 
 автор: 31   (31.07.2006 в 16:41)   письмо автору
 
   для: cheops   (31.07.2006 в 11:15)
 

cheops желательно на сто символов, дело в том что многие мобильные браузеры не могут загружать большие страницы, поэтому нужно все текст кооторый бедет хранится в txt файле нужно будет разбивать на страницы каждая из которых содержит 100 символов, ну за исключением того что может же быть не четно кол-во символов в тексте, поэтому последняя страница естественно будет содержать меньше, например если текст к примеру содержит 445 символов, то получится к примеру 4 с половиной страницы.

   
 
 автор: cheops   (31.07.2006 в 18:19)   письмо автору
 
   для: 31   (31.07.2006 в 16:41)
 

В самом простейшем варианте текст, разбивающий страницу по 100 символов может выглядеть примерно следующим образом
<?php  
  $contents 
file_get_contents('License.xUSSR.txt');
  
$contents wordwrap($contents100"%%");
  
$file preg_split("|%%|",$contents);
  echo 
"<pre>";
  
print_r($file);
  echo 
"</pre>";
?>

Массив $file - в каждом элементе содрежит фрагмент текста.

   
 
 автор: 31   (31.07.2006 в 18:39)   письмо автору
 
   для: cheops   (31.07.2006 в 18:19)
 

cheops спасибо! работает так как нужно!

   
 
 автор: 31   (31.07.2006 в 20:34)   письмо автору
 
   для: 31   (31.07.2006 в 18:39)
 

cheops скажите пожалуйста , а как сделать чтобы введя в форму допустим цифру 2 можно было перейти на 2 страницу....вот с этим не понятно

   
 
 автор: Владимир22   (31.07.2006 в 21:54)   письмо автору
 
   для: 31   (31.07.2006 в 20:34)
 

И ещёпопутный вопрос. Код ниже разбивает текст по 100 символов.

 $text = wordwrap($text, 200, "%%");
 $text = preg_split("|%%|",$text);

Но не зная сколько будет слов, (а значит и значений массива) наперёд в неизвестном тексте невозможно выводить весь текст таким образом.
echo "$text[0] $text[1] $text[2] и т.д."

Как можно сделать, чтобы было всего два значения в массиве:
Первое - первые 100 символов, 2 - всё остальное ????
Спасибо заранее.

   
 
 автор: cheops   (01.08.2006 в 10:41)   письмо автору
 
   для: Владимир22   (31.07.2006 в 21:54)
 

Можно поступить следующим образом
<?php
  $text
[0] = substr($text0100);
  
$text[1] = substr($text100);
?>

   
 
 автор: cheops   (01.08.2006 в 10:38)   письмо автору
 
   для: 31   (31.07.2006 в 20:34)
 

Обычно делают не через форму, а ссылки вида
<?php
  
for($i 0$i count($file); $i++)
  {
     echo 
"<a href=index.php?id=$i>[".$i."]</a>";
  }
?>

А выводят элемент массива $file на странице index.php следующим образом
<?php
  
echo $file[$_GET['id']];
?>

   
 
 автор: Bronepoez[)   (01.08.2006 в 11:00)
 
   для: cheops   (31.07.2006 в 18:19)
 

не понимаю зачем использовать связку
$contents = wordwrap($contents, 100, "%%");
$file = preg_split("|%%|",$contents);

когда можно str_split() использовать?

$file = str_split($contents, 100);
первый параметр - строка, второй по сколько символов должно быть в каждой части.

Это и быстрее, чем использовать рег. выражения.

   
 
 автор: cheops   (01.08.2006 в 22:23)   письмо автору
 
   для: Bronepoez[)   (01.08.2006 в 11:00)
 

str_split() будет резать прямо по целому слову, wordwrap() будет избегать этого...

   
 
 автор: 31   (03.08.2006 в 19:40)   письмо автору
 
   для: cheops   (01.08.2006 в 22:23)
 

люди помогите может у кого есть линк на простенький скрипт читалки который разбивает страницы.не могу разобраться.Пожалуйста!

   
 
 автор: cheops   (03.08.2006 в 21:13)   письмо автору
 
   для: 31   (03.08.2006 в 19:40)
 

Чем не подходит представленный выше скрипт?

   
 
 автор: 31   (04.08.2006 в 03:14)   письмо автору
 
   для: cheops   (03.08.2006 в 21:13)
 

cheops скрипт то подходит.но у меня не получается внедерить его в свой скрипт........чего то я не догоняю принцип. Вы уж извините но правда не получается внедрить его в свой скрипт.......

   
 
 автор: Shorr Kan   (04.08.2006 в 03:28)   письмо автору
 
   для: 31   (04.08.2006 в 03:14)
 


<?
  $contents 
file_get_contents('License.xUSSR.txt');
  
$contents wordwrap($contents100"%%");
  
$file preg_split("|%%|",$contents);

  
$c=count($file);
   for(
$i=0;$i<$c;$i++){
?><a href="?p=<?=$i;?>">Страничка <?=$i+1;?></a>&nbsp;|&nbsp;<?
                             
}//for $i

 
if(isset($_GET['p']) and !empty($file[$_GET['p']])){
    print 
$file[$_GET['p']];
                          }
//if

?>

Вероятно, вам что-то такое нужно.

   
 
 автор: 31   (04.08.2006 в 04:15)   письмо автору
 
   для: Shorr Kan   (04.08.2006 в 03:28)
 

извините спасибо большое наконец то я разобрался) парой бываю совершаю глупую ошибку) неправильно указал путь к файлу)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования