Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для danya24rus
2 / 2 / 0
Регистрация: 18.01.2013
Сообщений: 81

Закладка, как в книге(не закладка браузера) для веб-страницы

01.06.2015, 08:58. Показов 1434. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Давненько сделал себе помощник, для чтения Баша
Кликните здесь для просмотра всего текста
http://valera.besaba.com/bor - можно посмотреть наглядно. Не обращайте внимания на аллерт. set_time_limit() намеренно отключен.

вводите страницы в форму, уже из нее выводятся "склеенные" страницы в одну огромную. Очень удобно, я сохраняю этот файл в оффлайн и спокойно читаю.
Теперь конкретно к коду.
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<html>
<head>
<?php 
set_time_limit(0);
ob_start();
// Funkciya ochisheniya ot tegov html php i prochey figni
function clean($value = "") {
    $value = trim($value);
    $value = stripslashes($value);
    $value = strip_tags($value);
    $value = htmlspecialchars($value);
    
    return $value;
}
// funkciya dlya proverki kolichestva simvolov
function check_length($value = "", $min, $max) {
    $result = (mb_strlen($value) < $min || mb_strlen($value) > $max);
    return !$result;
}
?>
<div id="body">
 
<link href="http://s.bash.im/bor25.css?20140303" type="text/css" rel="stylesheet" />
</head>
<body>
<a href="http://valera.besaba.com/bor/savebash.htm">Страница сгенерирована. Для сохранения страницы нажмите на эту надпись правой кнопкой мыши и выберете пункт меню "сохранить как"</a><br><hr><hr>
<?php 
//berem iz formi nomera stranic
$Q=$_POST['N'];
$N=$_POST['Q'];
//ochishaem ih s pomoshu nashey funkcii
$Q = clean($Q);
$N = clean($N); 
// proveryaem dliny striki 
if(!empty($N) && !empty($Q)) 
{
    if(check_length($N, 1, 4) && check_length($Q, 1, 4))
    {
     
   
 
If ($Q > $N) 
{ $tempQ=$Q; $tempN=$N; $N=$tempQ; $Q=$tempN; }
$i=1;
for($i = $Q; $i <= $N; $i++){
$page="http://bash.im/index/{${i}}";
$str = file_get_contents ($page);
$strr = file_get_contents ($page);
preg_match_all('#<div class="text">(.*)</div>#', $str, $res);  
preg_match_all('%class="id">#(.*)</a>%', $strr, $ress);  
?>
<?php
   for ($j = 0; $j <= 49; $j++) {
    $a=$j+1+($i-$Q)*50;
    if ($res[1][$j]){ 
    echo "Цитата № $a Или на БОР № ";
    ?>  <a href="http://bash.im/quote/<?php echo $ress[1][$j]; ?>" class="id"><?php echo $ress[1][$j]; ?></a>  <div class="quote"><div class="text"> <?php
    echo $res[1][$j];
    ?></div></div>
    <?php 
}
}
}
$output = ob_get_contents();
 
$file = fopen("savebash.htm","wt") or die("err");
fputs($file,$output);
fclose($file);
// Проверка на валидность введеных данных
   echo "Введены верные символы!"; 
} else {
        echo "Введенные данные некорректные";
           }
 
} else {
    echo "Заполните пустые поля";
       }
//конец проверки
?>
</div>
</div>
</body>
</html>

Суть такова, что если выставить страниц 10-15, то итоговая страница получается очень длинной, и иной раз просто забываешь на какой цитате остановился. И вот хотелось бы создать некую систему-закладку. Но не знаю как это реализовать в виду того, что опыта совершенно мало.

На ум приходит только одна идея, в цикл, где создаются цитаты, добавить кнопку, которая будет сохранять номер цитаты(куда сохранять? Понятно, что в переменную, а дальше куда? Вполне можно и на сервер, все равно пользуюсь только я, оттуда и считываться будет) Вот она сохранилась, дальше присобачить кнопку в начала файла, которая перенаправляет на ту часть(метку) страницы, которая сохранена в переменной(файле на сервере).

Как можно это реализовать? И, если страница сохранится в HTML, то это все работать уже не будет?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.06.2015, 08:58
Ответы с готовыми решениями:

Firefox. Закладка на перевод страницы
Доброго вермени! В общем задача такова: Нужно сделать закладку на панеле закладок, при нажатии на которой будет осуществлен перевод...

Выскакивает закладка PageGo.Ru. Как убрать?
На дняx скачал арxив, после попытки установить, Аваст начал тревожит что больной! Выдало около 60 то ли вирусов или что-то другое!...

Закладка
Пишет ошибку на NewRichEdit. procedure TForm3.Button1Click(Sender: TObject); var NewTab: TTabSheet; NewMemo: TMemo; ...

3
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
01.06.2015, 09:43
Лучший ответ Сообщение было отмечено danya24rus как решение

Решение

Ну так это легко. Используй якоря.
HTML5
1
2
3
4
<ul>
    <li><a href="#quote1">Первая цитата</a></li>
    <li><a href="#quote2">Вторая цитата</a></li>
</ul>
HTML5
1
2
3
4
5
6
7
8
9
<a name="quote1"><h2>Первая цитата</h2></a>
<p>
Какой-то текст этой цитаты...
</p>
 
<a name="quote2"><h2>Вторая цитата</h2></a>
<p>
Текст второй цитаты.
</p>
1
 Аватар для danya24rus
2 / 2 / 0
Регистрация: 18.01.2013
Сообщений: 81
01.06.2015, 12:35  [ТС]
alexsamos33, спасибо. Это сделал, теперь в плане реализации кнопки. С помощью чего ее можно сделать? В общем вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
  for ($j = 0; $j <= 49; $j++) {
    
    $a=$j+1+($i-$Q)*50;
    if ($res[1][$j]){ 
    echo "Цитата № $a Или БОР №";
    ?>  <a  name="<?php echo $a; ?>" href="http://bash.im/quote/<?php echo $ress[1][$j]; ?>" class="id"><?php echo $ress[1][$j]; ?></a>        
<img src="save.png">
 <div class="quote"><div class="text"> <?php
    echo $res[1][$j];
    ?></div></div>
    <?php 
}
Вот из этой картинки(<img src="save.png">) нужно сделать кнопку, которая подбирает значение переменной $a и сохраняет ее в файл. При этом нужно, чтобы из этого же файла можно было считывать.
0
 Аватар для danya24rus
2 / 2 / 0
Регистрация: 18.01.2013
Сообщений: 81
11.06.2015, 05:26  [ТС]
Может кому-то интересно будет, но решил все следующим образом(через куки)
Для кнопки "сохранить" сделал вот такую html форму с событием onclick
PHP
1
<input type="image" src="save.png" onClick='return knopka(<?php echo $a ?>)' >
и к каждой цитате приделал флаг
PHP
1
 <a  name="<?php echo $a; ?>
Вот так выглядит функция knopka(сохраняет куки с указанным $a(это счетчик цитат) с продолжительностью жизни - год):
JavaScript
1
2
3
4
function knopka(nomer) {
var date = new Date(new Date().getTime() + 365 * 24 * 60 * 60 * 1000);
document.cookie = "yakor=" + nomer + "; path=/; expires=" + date.toUTCString();
}
Теперь, при нажатии на кнопку мы получаем куки с именем yakor и значением-номером определенной цитаты.
Так же запилил вторую функцию, которая получает куки:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function getCookie(name) {
  var cookie = " " + document.cookie;
  var search = " " + name + "=";
  var setStr = null;
  var offset = 0;
  var end = 0;
  if (cookie.length > 0) {
    offset = cookie.indexOf(search);
    if (offset != -1) {
      offset += search.length;
      end = cookie.indexOf(";", offset)
      if (end == -1) {
        end = cookie.length;
      }
      setStr = unescape(cookie.substring(offset, end));
    }
  }
  return(setStr);
}
И такой скрипт в начало страницы, который переводит страницу на раннее сохраненный якорь. Еще сделал кнопку, которая это делает, но ее наличие не играет особой роли(оказалась невостребованной)
JavaScript
1
document.location.hash = getCookie('yakor')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.06.2015, 05:26
Помогаю со студенческими работами здесь

Закладка
Как создать на ява-скрипт команду &quot;В закладки&quot;

Закладка PageControl
Привет:) Ситуация такая: на форме расположен компонент PageControl. В ней 2 вкладки: ФИО, Адрес. Хочу чтоб при нажатии на вкладку...

Закладка и список
Подскажите как сделать закладку на &quot;номер/пункт/элемент нумерации&quot; нумерованного списка. Когда я выделяю нужный мне...

Закладка Программы
Хром оновился, как убрать новую закладку программы? Версия 29.0.1547.76 m теперь. Дошло) Убрать ярлык Программы в контексте

Закладка формы
Добрый день коллеги. Прошу помочь советом вот в каком вопросе: Источником данных для основной-разделённой формы glform2 является запрос. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru