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

Форум Регулярные Выражения

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

 

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

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

тема: Автоматическая генерация оглавления как в Википедии
 
 автор: NW   (10.04.2012 в 20:13)   письмо автору
 
 

Кто нибудь делал? Чтото не сображу как такое попроще сделать.

  Ответить  
 
 автор: NW   (11.04.2012 в 19:59)   письмо автору
 
   для: NW   (10.04.2012 в 20:13)
 

В общем сделал так:

// Ищем все заголовки и формируем содержание страницы
        preg_match_all('#\<h[0-6]*\>([а-яА-Я0-9\/\.\-\—\_\(\)\sa-zA-Z]*)\<\/h[0-6]*\>#U', $text, $massiv, PREG_SET_ORDER);
        foreach ($massiv as $k=>$v){
            $content .= '<a href="#' . $v[1] . '">' . $v[1] . '</a><br />';
        }    
        // Добавляем к заголовкам якоря от сформированного выше меню, модификатор U для поиска минимального соответствия
        $text = preg_replace('#(\<h[0-6]*\>([а-яА-Я0-9\/\.\-\—\_\(\)\s\<\>a-zA-Z]*)\<\/h[0-6]*\>)#U', '<a name="$2"></a>$1', $text);

результат в $content . $text

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

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