| |
|
|
| | Есть один небольшой скрипт, код которого я поместил внизу. Он предназначен для того, чтобы из текста выбирать слова пачками заданного размера.
Реально он у меня нормально не работает, и как он должен работать, я так и не понял.
Вот такие нерешаемые вопросы:
1. Что такое
$page=intval($_GET['page']); Что он делает?
2. Первую страницу скрипт выведет. Но как перейти к извлечению следующей? Очевидно, надо изменить параметр $page, но как он меняется в этом скрипте? И в каких пределах? Ведь число страниц в книге неизвестно!
3. Для исследования я ввел простенькое содержимое текста, результат вывода которого предсказуем. И при запуске скрипта получаем ответ:
«Здесь семь слов».
Однако в реале и перед началом фразы, и между словами может быть пробелы, и не по одному. Так вот: если сделать пробел перед словом «Здесь», то выводится другое содержание первой страницы, а именно:
«Здесь семь»
Если добавить впереди два пробела, то выводится «Здесь», а если добавить три пробела, то не выводится ничего. Похоже, что он считает пробелы за слова.
В общих, моих знаний не хватило для того, чтобы покорить этот скрипт! Что подскажут умные люди?
============
$text = "Здесь семь слов, посвященных проверке этого оператора" ; // Для теста
$words_at_page=2; //слов на странице
$page=intval($_GET['page']);
// $text=file_get_contents("book.txt"); // Пока отключим
$words=explode(" ", $text);
$start=$page*$words_at_page;
for ($i=$start; $i<=$start+$words_at_page; $i++)
{
$new_text.=$words[$i]." ";
}
echo $new_text; | |
| |
|
|
| |
|
|
| |
для: Владимир55
(24.11.2006 в 16:25)
| | | можно так:
<?
$text = "Здесь семь слов, посвященных проверке этого оператора" ; // Для теста
$words_at_page=2; //слов на странице
$page=intval($_GET['page']);
$words=split('/ /', $text, -1, PREG_SPLIT_NO_EMPTY);
$start=$page*$words_at_page;
for ($i=$start; $i<=$start+$words_at_page; $i++)
{
$new_text.=$words[$i]." ";
}
echo $new_text;
|
правда работать будет медленнее. | |
| |
|
|
| |
|
|
| |
для: Loki
(24.11.2006 в 16:47)
| | | Странно, но у меня этот кусочек не выводит вообще ничего...
Может он с четвертой версией рнр не дружит? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(24.11.2006 в 17:01)
| | | перепутал функцию
<?
$text = "Здесь семь слов, посвященных проверке этого оператора" ; // Для теста
$words_at_page=2; //слов на странице
$page=intval($_GET['page']);
$words=preg_split('/ /', $text, -1, PREG_SPLIT_NO_EMPTY);
$start=$page*$words_at_page;
for ($i=$start; $i<$start+$words_at_page; $i++)
{
$new_text.=$words[$i]." ";
}
echo $new_text;
?>
|
| |
| |
|
|
| |
|
|
| |
для: Loki
(24.11.2006 в 17:17)
| | | Теперь выводит, спасибо!
И, вроде бы, проигнорирует любое число пробелов, если я правильно понял... | |
| |
|
|