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

Форум PHP

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

 

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

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

тема: 1 html файл, много статей, статьи нужно упорядочить определенным образом
 
 автор: AleksRyzhov   (13.02.2010 в 23:39)   письмо автору
 
 

Приветствую всех читающих данную тему! Требуется помощь. Имеется гигантский html файл(для импорта в WPT) со статьями вида:

<h1>Категория1</h1>
<h2>Название1</h2>
статья1

..........................

<h1>КатегорияN</h1>
<h2>НазваниеN</h2>
статьяN


Не могу написать скрипт который приведет этот файлик к виду:

<h1>Категория1</h1>
<h2>Статья 1</h2>
..............................
<h2>Статья N</h2>
..................................
<h1>КатегорияN</h1>
<h2>Статья 1</h2>
..............................
<h2>Статья N</h2>
Т. е. статьи относящиеся к одной категории должны идти подряд и у каждой статьи относящейся к одной категории вхождение <h1>категория</h1> должно быть удалено(кроме первой статьи из этой категории).

Спасибо за помощь.

  Ответить  
 
 автор: Ури Геллер   (14.02.2010 в 00:32)   письмо автору
 
   для: AleksRyzhov   (13.02.2010 в 23:39)
 

есть simple cms там подобным образом данные хранятся (в одном файле) можно там посмотреть

  Ответить  
 
 автор: Trianon   (14.02.2010 в 00:47)   письмо автору
 
   для: AleksRyzhov   (13.02.2010 в 23:39)
 

Задача для egrep.

$res = preg_replace(
  "%<h1>([\\S]+)</h1> \s* <h2>([\\S]+)</h2> \s* (([^<]+|<(!?h1)[^>]+>)*) %x",
  "<h1>\\1</h1>\\3", $text);

  Ответить  
 
 автор: AleksRyzhov   (14.02.2010 в 16:49)   письмо автору
 
   для: Trianon   (14.02.2010 в 00:47)
 

Не понял как использовать последний код. Если не сложно напишите плиз подробнее)

  Ответить  
 
 автор: Trianon   (14.02.2010 в 17:02)   письмо автору
 
   для: AleksRyzhov   (14.02.2010 в 16:49)
 

(подумав...)
Ну уж нет.
Подробнее, знаете ли, некуда.

  Ответить  
 
 автор: AleksRyzhov   (14.02.2010 в 17:34)   письмо автору
 
   для: Trianon   (14.02.2010 в 17:02)
 

Использую такой код
<?
 header
("Content-type: text/html; charset=utf-8");
$b file_get_contents("1.htm");
$res preg_replace("%<h1>([\\S]+)</h1> \s* <h2>([\\S]+)</h2> \s* (([^<]+|<(!?h1)[^>]+>)*) %x",
  
"<h1>\\1</h1>\\3"$b); 
  echo 
"$res";
?>


не работает.

  Ответить  
 
 автор: Trianon   (14.02.2010 в 17:45)   письмо автору
 
   для: AleksRyzhov   (14.02.2010 в 17:34)
 

Я проверял на тексте из поста с вопросом. Возможно на выходе тег <h2> стоит добавить. Принципиально разбор идет.

  Ответить  
 
 автор: AleksRyzhov   (14.02.2010 в 23:19)   письмо автору
 
   для: Trianon   (14.02.2010 в 17:45)
 

Возможно был не правильно понят вопрос. Напишу подробнее. 1 хтмл файл имеет множество статей. Каждая статья начинается с категории в тегах<h1>, затем название статьи в <h2>, затем текст статьи. При этом статьи рандомно перемешаны, т е статьи одной категории могут идти в начале файла, середине и вообще где угодно. Нужно преобразовать файл к виду в котором статьи будут упорядоченны по категориям, т е категория в тегах <h1> , а за ней все статьи из этой категории при этом категория <h1> указывается только в самом начале, а дальше все статьи этой категории. Затем идет следующая категория и все статьи из этой категории. И так далее.

  Ответить  
 
 автор: AleksRyzhov   (15.02.2010 в 23:46)   письмо автору
 
   для: Trianon   (14.02.2010 в 17:02)
 

Переформулирую задачу. Есть много маленьких html файлов одинаковой структуры, как между собой сравнить в этих файлах первую строку <h1>Категория</h1>?

Зы Новичок в пыхе)))

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

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