venetu
Мой дом здесь!
- Регистрация
- 28 Мар 2007
- Сообщения
- 745
- Реакции
- 273
и меня расшифровка интересует))
Блин, да чего там расшифровывать.. Код левой ногой сделан кое-как, не пример для подражания уж точно. Склепал за сколько-то там минут, работает - и ладно.
PHP:
$buf = file_get_contents('articles.html');
// прочитали содержимое файла в $buf
$articles = preg_split('|<h1>|i',$buf);
// разбили $buf по '<h1>', теперь у нас в articles - массив
// из отдельных статей
$article = '<h1>'.$articles[(int) $_GET['art']];
// $_GET[art] - порядковый номер статьи, передаем через /?art=1
// Если ничего не передали - то по умолчанию 0
// $article - статья из массива с порядковым номером, который передали
// <h1> дописываем, т.к. при split() оно покоцалось, и теперь
// у нас в $articles все статьи идут без начального <h1>
$arr = array();
preg_match("|<h1>(.*?)</h1>|is",$article,$arr);
$title = $arr[1];
// После того как к статье в начало вернули <h1>, вытащим из
// нее все что между <h1> и </h1> - это будет тайтл страницы
preg_match_all("|<h1>(.*?)</h1>|is",$buf,$arr);
$menu = $arr[1];
// строим меню - выгребаем из $buf все <h1>..</h1> и заносим их в массив
// Это анкоры для ссылок в меню, а урлы - просто порядковые номера эл-тов
Итого теперь у нас есть $title - заголовок статьи, $article - сама статья, и $menu - массив с заголовками всех статей сайта (для меню).
Дальше в шаблоне это все просто выводится.