Page 1 of 1
Отображаем последний темы форума на сайтk
Posted: Tue Jul 20, 2010 9:04 pm
by sl4mmer
Добрый день всем. Написал материал о том, как настроить вывод последних тем с форума на сайте под Made Simple
кому интересно - читаем
http://web.yugansk.com/cms-made-simple-integraciya-s-forumom.html, может кому поможет)
Модераторам - здесь выкладывать не стал дабы не дублировать контент, что для поисковиков нехорошо

Re: Отображаем последний темы форума на сайтk
Posted: Wed Jul 21, 2010 4:01 am
by Fenik17
Не понимаю, почему народ упорно пользуется рег.выражениями для xml в php, когда давно есть замечательный SimpleXML..
Re: Отображаем последний темы форума на сайтk
Posted: Wed Jul 21, 2010 6:32 am
by sl4mmer
SimpleXML это конечно чудно, и возможно для какого то мега сложного парсинга стоилобы его заюзать но я использую реги в таких случаях как этот по 2м причинам
1) Это довольно простой случай- регулярка здесь во всех смыслах удобнее.
2) SimpleXML жрет системные ресурсы неплохо так . У меня на одном сервере 8 сайтов висят- так что поэкономить оперативку и процессорное время не лишним будет.
Re: Отображаем последний темы форума на сайтk
Posted: Wed Jul 21, 2010 7:28 am
by Fenik17
1. Для мегасложного парсинга есть другие инструменты, типа XML Parser или DOM. SimpleXML как раз таки создан для простой обработки XML-документов с заранее известной структурой.
2. SimpleXML удобнее и безопаснее регулярный выражений во всех смыслах.
3. SimpleXML работает значительно быстрее регулярный выражений. Можете проверить.
И такой вопрос:
Code: Select all
for($i=1;$i<=10;$i++){
echo $data[]='<li> <a href="'.$links[1][$i].'" '. $style.'><span>'.$title[1][$i].'</span></a></li>';
}
Что будет, если в rss окажется меньше 10 записей?
Re: Отображаем последний темы форума на сайтk
Posted: Wed Jul 21, 2010 7:53 am
by Fenik17
Кстати, ваш код не работает (ссылки пустые). Да еще и варнинги выдает.
Вот правильный вариант:
Code: Select all
$rss = simplexml_load_file('http://yugansk.com/forum/index.php?app=core&module=global§ion=rss&type=forums&id=2');
$i = 0;
foreach ($rss->channel->item as $item){
echo "<li><a href=\"$item->link\"><span>$item->title</span></a></li>";
if (++$i > 9) break;
};
Думаю, тут даже спорить бессмысленно, что лучше - regexp или SimpleXML.
Re: Отображаем последний темы форума на сайтk
Posted: Wed Jul 21, 2010 8:00 am
by sl4mmer
Я же в посте сказал - что я направляю в поток 10 записей (но ктото может захочет использовать и меньше). Конечо надо в статье упомянуть чтобы значение заменили(если надо), как -то вылетело из головы.
Касаемо что лучше работает - ну давайте, тот же скрипт который приведем у меня затестим по времени выполнения и использованию оперативной памяти. В варианте с регами и в варианте с simple XML - это будет объективно
Re: Отображаем последний темы форума на сайтk
Posted: Wed Jul 21, 2010 8:15 am
by Fenik17
ну давайте, тот же скрипт который приведем у меня затестим
Тестируйте. Но сначала исправить надо:
> $t=preg_match_all('(.*)/',$file,$links);
на
> $t=preg_match_all('/(.*)/',$file,$links);
Re: Отображаем последний темы форума на сайтk
Posted: Sat Jul 24, 2010 5:37 am
by sl4mmer
опечатку поправил конечно). В общем получается что симплХМЛ выполняется немножко быстрее , хотя при этом памяти потребляет больше (тоже впрочем незначительно)- так что думаю тут по большей части дело вкуса и привычки)