[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: парсинг html файла
E-SPAR
помогите с кодом

нужно достать параметры(name,author,website,version) из первого комментария в html файле
и засунуть их значения в переменные (соответственно $name,$author,$website,$version)

файл выглядит примерно так:
<!--
Name: Default
Author: E-SPAR
Website: www.website.com
Version: 1.0.0
-->

<html>
...
</html>


параметры могут быть в произвольном порядке

с регулярными выражениями не знаком,
если можно готовые конструкции



Спустя 45 минут, 36 секунд (29.06.2010 - 21:43) olgatcpip написал(а):
$text = '<!--
Name: Default
Author: E-SPAR
Website: www.website.com
Version: 1.0.0
-->
<html>
...
</html>'
;

$pattern = '/\<!--\s+name:\s*(.*)\s+author:\s*(.+)\s+website:\s*(.+)\s+version:\s*([\d\.]+)\s+--\>/is';
preg_match($pattern, $text, $matches);
print_r($matches);

Спустя 30 минут, 9 секунд (29.06.2010 - 22:13) E-SPAR написал(а):
olgatcpip, спасибо
но как быть если параметры будут в произвольном порядке?

Спустя 24 минуты, 45 секунд (29.06.2010 - 22:38) olgatcpip написал(а):
Может проще сделать?
	$pattern = '/\<!--([\s\S]*)--\>/is';

preg_match($pattern, $text, $matches);
print_r($matches);
foreach(explode("\n",$matches) as $str){
list($x,$y)=explode(':',trim($str));
echo "<br />".$x.'--'.$y;
}
Хотя стоит предусмотреть коментарии в html-коде...
и возможно
$pattern = '/\<!--([\s\S]*)--\>[\s\S]*\<html/is'; вот так вот прокатит?

Спустя 13 дней, 6 часов, 41 минута, 36 секунд (13.07.2010 - 05:20) olgatcpip написал(а):
помогло, нет? нашли ли лучшее решение??
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.