Нужна помощь php

[Удален]
547

Есть страничка такого вида:


<li><span style="color: rgb(255, 23, 86);">234</span> : 23 : 543: <a href="#" title="#"><span class="name">значение 1</span></a> : значение 2 : <a href="#">3</a> : значение 4 : значение 5 : значение 6 : <span class="c1">значение 7</span></li>
<li><span style="color: rgb(815, 55, 362);">856</span> : 12 : 52: <a href="#" title="#"><span class="name">значение 1</span></a> : значение 2 : <a href="#">3</a> : значение 4 : значение 5 : значение 6 : <span class="c1">значение 7</span></li>
<li><span style="color: rgb(215, 25, 32);">748</span> : 91 : 102 : <a href="#" title="#"><span class="name">значение 1</span></a> : значение 2 : <a href="#">3</a> : значение 4 : значение 5 : значение 6 : <span class="c1">значение 7</span></li>

Так вот, нужно чтобы построчно прошмонало все строки, тоесть от <li> до </li> и загнало в переменные все значения.

Весьма благодарен за помощь буду.

P\s: нужно циклом построчно загнать всё в мускул.

slaveofmoney
На сайте с 18.08.2008
Offline
53
#1

вам просто нужен парсер

пусто )
[Удален]
#2

Можно и так сказать

tommy-gung
На сайте с 22.11.2006
Offline
287
#3

смотреть в сторону регулярных выражений.

Что именно нужно "вытянуть" из строки?

Здесь не могла быть ваша реклама
[Удален]
#4

Нужно вытянуть и раскидать по переменным все "значения x", дабы закинуть всё это дело в мускул в соответствии с полями.

[Удален]
#5


$text=file_get_contents($url);
preg_match_all(
"|<li><span(.*)<span class=\"name\">([^<]+)<\/span><\/a>\w:\w([^:]+)\w:\w<a href=\"#\">([^/]+)</a>\w:\w([^:]+)\w:\w([^:]+)\w:\w([^:]+)\w:\w<span class=\"c1\">([^<]+)<\/span><\/li>|Uis",
$text,
$out, PREG_SET_ORDER);

foreach ($out as $id=>$match)
{
echo "<p>";
print_r($match);
echo "</p>";
}

Честно говоря не проверял, и сходу так сказать не могу в каких ячейках будут ваши значения. Скорее всего 2-8. Смотрите что там выведется, каждый абзац будет содержать раскладку массива, соответствующего каждой записи. Хинт: смотреть удобнее в исходном коде.

Если какое то значение Х не обязательно присутствует в записи, то плюсики в соответствующем месте в круглых скобках в регулярке надо заменить на звездочки

Рекомендую поставить себе Eclipse+Aptana Studio+Regex Util, и можно тогда прямо там эти штуки проверять =)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий