Помогите с парсером для вывода двух значений (версия и дата)

Статус
В этой теме нельзя размещать новые ответы.

Hmelex

Постоялец
Регистрация
15 Апр 2008
Сообщения
552
Реакции
129
Помогите пожалуйста - уже дня 2 мучаюсь, хотя понимаю, что все где то рядом.
Хочу выводить страницу с вытягиванием информации с нескольких сайтов.
Информация везде записана по разному.

Сайт 1:
PHP:
<p class="versionRs">Текущая версия: 0.0.0.50
  Дата обновления: 23.10.2014</p>

Сайт 2:
PHP:
<p><a href="nulled.zip">nulled.zip</a> <span class="red">(1 МБ)
<br>Версия 1.2.3 от 22.10.14&nbsp;<img src="i/kartinka.png" alt="картинка"/>
</span></p>

Сайт 3:
PHP:
<p class="H4">Текущая версия<br />AbvGde v9.0.5.4</p>
<p>Релиз Jul 10, 2014<br />
<a href="http://nulled.cc">

Кто может помогите пожалуйста вывести результаты в таком виде:

Сайт 1:
Текущая версия системы: 0.0.0.50
Дата последнего обновления: 23.10.2014


Сайт 2:
Текущая версия системы: 1.2.3
Дата последнего обновления: 22.10.14


Сайт 3:
Текущая версия системы: v9.0.5.4
Дата последнего обновления: Jul 10,2014


--------------------------------------------------------

Для вывода Сайт 1 хоть и грубо на делала так:

PHP:
$text = file_get_contents( 'http://Сайт 1' );

preg_match( '/Текущая версия: (.*?)  Дата обновления: /is' , $text , $nomer_rs );
echo "<br>Текущая версия системы: <font color=red size=5><b>$nomer_rs[1]</b></font>"; 

preg_match( '/Дата обновления: (.*?)<\/p>/is' , $text , $date_obnovleniya_rs ); 
echo "<br>Дата последнего обновления: <font color=red size=5><b>$date_obnovleniya_rs[1]</b></font><br><br>";
А вот с выводом информации по 2 и 3 сайту проблема, ни никак не получается вывести информацию.

Пожалуйста помогите информацией, различные форумы смотрела и читала, но как то с ПХП не сильно у меня складывается :(
 
Сначала использовать Для просмотра ссылки Войди или Зарегистрируйся
потом используя date() оформляем как требуется.
Хотя лучше связка date_create_from_format() с date_format()

PHP:
$text = file_get_contents( 'http://Сайт 2' );
/*
.*? любое количество любых символов
\d+ одна или более цифра
\d+\.\d+\.\d+  три числа разделенные точкой
*/
preg_match( '/<br>Версия (.*?) от (\d+\.\d+\.\d+)/is' , $text , $m );
$date = date_create_from_format('d.m.y', $m[2]);
$date = date_format($date, 'd.m.Y');
echo "<br>Текущая версия системы: <font color=red size=5><b>$m[1]</b></font>";
echo "<br>Дата последнего обновления: <font color=red size=5><b>$date</b></font><br><br>";


PHP:
$text = file_get_contents( 'http://Сайт 3' );
/*
\s* любое количество пробелов переносов строк и табуляции.
\S+ один или более не пробельных символов т.е символы кроме пробела табуляции и переноса строки
[^<]+ захватит максимально любых символов кроме <
*/
preg_match( '/Текущая версия<br \/>\S+ (\S+)<\/p>\s*<p>Релиз ([^<]+)/is' , $text , $m );
echo "<br>Текущая версия системы: <font color=red size=5><b>$m[1]</b></font>";
echo "<br>Дата последнего обновления: <font color=red size=5><b>".date("d.m.Y", strtotime($m[2]))."</b></font><br><br>";
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху