Отображаем последний темы форума на сайтk

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
sl4mmer
Forum Members
Forum Members
Posts: 11
Joined: Wed Jul 14, 2010 11:15 pm

Отображаем последний темы форума на сайтk

Post by sl4mmer »

Добрый день всем. Написал материал о том, как настроить вывод последних тем с форума на сайте под Made Simple
кому интересно - читаем http://web.yugansk.com/cms-made-simple-integraciya-s-forumom.html, может кому поможет)

Модераторам - здесь выкладывать не стал дабы не дублировать контент, что для поисковиков нехорошо :)
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am

Re: Отображаем последний темы форума на сайтk

Post by Fenik17 »

Не понимаю, почему народ упорно пользуется рег.выражениями для xml в php, когда давно есть замечательный SimpleXML..
sl4mmer
Forum Members
Forum Members
Posts: 11
Joined: Wed Jul 14, 2010 11:15 pm

Re: Отображаем последний темы форума на сайтk

Post by sl4mmer »

SimpleXML это конечно чудно, и возможно для какого то мега сложного парсинга стоилобы его заюзать но я использую реги в таких случаях как этот по 2м причинам

1) Это довольно простой случай-  регулярка здесь во всех смыслах удобнее.
2) SimpleXML жрет системные ресурсы неплохо так . У меня на одном сервере 8 сайтов висят- так что поэкономить оперативку и процессорное время не лишним будет.
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am

Re: Отображаем последний темы форума на сайтk

Post 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 записей?
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am

Re: Отображаем последний темы форума на сайтk

Post by Fenik17 »

Кстати, ваш код не работает (ссылки пустые). Да еще и варнинги выдает.

Вот правильный вариант:

Code: Select all

$rss = simplexml_load_file('http://yugansk.com/forum/index.php?app=core&module=global&section=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.
sl4mmer
Forum Members
Forum Members
Posts: 11
Joined: Wed Jul 14, 2010 11:15 pm

Re: Отображаем последний темы форума на сайтk

Post by sl4mmer »

Я же в посте сказал - что я  направляю в поток 10 записей (но ктото может захочет использовать и меньше). Конечо надо в статье упомянуть чтобы значение заменили(если надо), как -то вылетело из головы.

Касаемо что лучше работает - ну давайте, тот же скрипт который приведем у меня затестим по времени выполнения и использованию оперативной памяти. В варианте с регами и в варианте с simple XML - это будет объективно
Fenik17
Power Poster
Power Poster
Posts: 450
Joined: Tue Jun 01, 2010 5:42 am

Re: Отображаем последний темы форума на сайтk

Post by Fenik17 »

ну давайте, тот же скрипт который приведем у меня затестим
Тестируйте. Но сначала исправить надо:

> $t=preg_match_all('(.*)/',$file,$links);

на

> $t=preg_match_all('/(.*)/',$file,$links);
sl4mmer
Forum Members
Forum Members
Posts: 11
Joined: Wed Jul 14, 2010 11:15 pm

Re: Отображаем последний темы форума на сайтk

Post by sl4mmer »

опечатку поправил конечно). В общем получается что симплХМЛ выполняется немножко быстрее , хотя при этом памяти потребляет больше (тоже впрочем незначительно)- так что думаю тут по большей части дело вкуса и привычки)
Post Reply

Return to “Russian - русский”