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

Форум PHP

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

 

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

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

тема: Содержание записи по заголовкам
 
 автор: WePlexus   (22.04.2015 в 12:31)   письмо автору
 
 

Добрый день. Все видели Википедию и как у них организован блок "Содержание". Формируется этот блок по H1-H2 заголовкам. При нажатии на ссылку сожержание мы переходит до нужного раздела.

Вот у меня есть в базе несколько блоков DIV:
<div class="class_name">Текст 1</div>
<div class="class_name">Текст 2</div>

Или вот таких (с тегом ID):
<div class="class_name" id="id_name">Текст 1</div>
<div class="class_name" id="id_name">Текст 2</div>

Как мне вставить в тег ID хеш-тег порядкового номера блока DIV. То есть так:
<div class="class_name" id="id_tag_1">Текст 1</div>
<div class="class_name" id="id_tag_2">Текст 2</div>

А если у блока уже есть тег ID:
<div class="class_name" id="id_name id_tag_1">Текст 1</div>
<div class="class_name" id="id_name id_tag_2">Текст 2</div>

А в отдельную переменную вывести найденные тексты? к которым подставили значения внутри блоков DIV со ссылками на подставленный хэш-тег:
<a href="#id_tag_1">Текст 1</a>
<a href="#id_tag_2">Текст 2</a>

Велекодушно благодарю за помощь! С меня услуга за помощь.

  Ответить  
 
 автор: confirm   (22.04.2015 в 16:55)   письмо автору
 
   для: WePlexus   (22.04.2015 в 12:31)
 

id="id_name" Текст 1 и id="id_name" Текст 2 - такого быть не может, идентификатор должен быть уникальным. Ка и не может быть id="id_name id_tag_1" и id="id_name id_tag_2" - имя класса составное, это пожалуйста, но не id.

  Ответить  
 
 автор: WePlexus   (24.04.2015 в 10:01)   письмо автору
 
   для: confirm   (22.04.2015 в 16:55)
 

Да, я немного намудрил. :) Понял, что ID должен быть один.
Подскажите, как решить задачу с одним ID?

  Ответить  
 
 автор: KPETuH   (24.04.2015 в 10:48)   письмо автору
 
   для: WePlexus   (24.04.2015 в 10:01)
 

Если честно я вашу задачу например вообще не понял. Может попробуете обяснить по другому что вам нужно.

  Ответить  
 
 автор: WePlexus   (10.05.2015 в 10:59)   письмо автору
 
   для: WePlexus   (22.04.2015 в 12:31)
 

Немного переформулировал вопрос. Кто сможет, помогите, пожалуйста. :)

Вот у меня есть несколько блоков:
<div>Див блок номер 1</div> 
<div>Див блок номер 2</div>


Как вставить в тег id с порядковым номером блока:
<div id="number_1">Див блок номер 1</div> 
<div id="number_2">Див блок номер 2</div>


И собрать текст от обработанных блоков:
<a href="#number_1">Див блок номер 1</a> 
<a href="#number_2">Див блок номер 2</a>

  Ответить  
 
 автор: confirm   (10.05.2015 в 14:27)   письмо автору
 
   для: WePlexus   (10.05.2015 в 10:59)
 

Где находится содержимое блоков?
По каким условиям это содержимое помещается в DIV?

Ответ на эти вопросы и есть ответ как сделать.

  Ответить  
 
 автор: WePlexus   (10.05.2015 в 15:44)   письмо автору
 
   для: confirm   (10.05.2015 в 14:27)
 

1. Блоки находится все в поле таблицы базы. Они являются частью разметки статьи. Каждый блок имеет свой текст.
2. Содержимое помещается заранее при формировании верстки для статьи. То есть имеется несколько блоков внутри одной статьи.
Для данной статьи хочется найти все блоки и в id каждого вставить уникальную хэш-ссылку, которая дальше будет находится в теге <a> и будет являться ссылкой на данный блок, как бы содержанием данной записи.
Надеюсь понятно. :)

Это как в Википедии^
Вот запись. У нее есть блок "Содержание". При нажатии на ссылку в ней - мы переходим ниже по странице на выбранный блок. Например, нажмем в этой статьи Википедии на "2.2 Храмы" в содержании - мы попадем на описание храмов.

  Ответить  
 
 автор: confirm   (10.05.2015 в 18:30)   письмо автору
 
   для: WePlexus   (10.05.2015 в 15:44)
 

Ну и в чем проблема, если они в базе как отдельные блоки, при их выводе указывать им id и расставить ссылки на них?

  Ответить  
 
 автор: WePlexus   (11.05.2015 в 08:11)   письмо автору
 
   для: confirm   (10.05.2015 в 18:30)
 

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

  Ответить  
 
 автор: confirm   (11.05.2015 в 09:01)   письмо автору
 
   для: WePlexus   (11.05.2015 в 08:11)
 

Регулярными выражениями, а что содержимое в базе так и хранится - <div>Текст</div> ?

  Ответить  
 
 автор: WePlexus   (13.05.2015 в 18:04)   письмо автору
 
   для: confirm   (11.05.2015 в 09:01)
 

А подскажите код как написать? Не совсем понимаю как подступиться к правильному коду.

  Ответить  
 
 автор: confirm   (14.05.2015 в 08:19)   письмо автору
 
   для: WePlexus   (13.05.2015 в 18:04)
 

А кто ссылаться на эти блоки будет? Нужно ведь помимо вывода их, формировать и ссылки, а они являются заголовками раздела. Отсюда следует вывод - если каждый раздел, это отдельная запись в таблице, у которой есть описание раздела и его заголовок, то якорь надо устанавливать не на содержание, а на его заголовок (теги H1-H5). И в случае, если так и организовано хранение данных, то якорь у заголовка можно формировать при выводе id="name-XXX", где ХХХ, это идентификатор записи.

  Ответить  
 
 автор: darkozoid   (14.05.2015 в 08:36)   письмо автору
 
   для: WePlexus   (10.05.2015 в 10:59)
 

а почему не сделать это с jquery?


$(function(){
  var i = 0;
  $('div').each(function(){
    var content = $(this).html(); // вставляем куда хотим...
    $(this).attr('id', 'item_' + i);
    i++;
  });
})


ну или как то так....

  Ответить  
 
 автор: confirm   (14.05.2015 в 11:36)   письмо автору
 
   для: darkozoid   (14.05.2015 в 08:36)
 

А зачем?

  Ответить  
 
 автор: WePlexus   (21.05.2015 в 21:14)   письмо автору
 
   для: darkozoid   (14.05.2015 в 08:36)
 

Спасибо за метод. Работает! :)
А как переменную "content" вывести в HTML в нужный тег?

  Ответить  
Rambler's Top100
вверх

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