Парсинг данных. Взять данные внутри тега.

Печать RSS
199

Автор
Пишу, строю и воображаю
0
Беру данные с одного сайта. От всего почистил. Добрался до блока который мне нужен. Вот он
<span class="left">Сергей</span><span class="right">13 Apr 2013</span><br>
<span class="left">Маша</span><span class="right">15 Apr 2013</span><br>
<span class="left">Дима</span><span class="right">15 Apr 2013</span><br>
<span class="left">Лена</span><span class="right">16 Apr 2013</span><br>
<span class="left">Миша</span><span class="right">16 Apr 2013</span><br>

На одном сайте просто генерируется имена, а рядом дата вывода.
Мне нужно только имена. На своём сайте я буду их выводить
<ul>
<li>имя</li>
...
</ul>
то что дата динамичная, её просто str_replace не уберешь, или придется перебирать все 31 дня + месяца....

Как "взять" только имена?

Добавлено через 00:47 сек.
<span class="left"></span>

Мне нужно этого SPAN. Таких SPAN 10 штук. Как это сделать через цикл представления не имею, так как парсеры пишу совсем недавно

Чатланин
0
Регулярными выражениями не пользовался? знаешь, что такое?
Изменил: Абдула (16.04.2013 / 14:16)
Автор
Пишу, строю и воображаю
0
2, слаб(

Пришелец
0
Тут регэкспы могут не понадобится. Есть DOMDocument, который легко позволит спарсить HTML-код.

Чатланин
0
Почитай на php.su про них. Помогут.
Автор
Пишу, строю и воображаю
0
4, читаю... как я понял он генерирует новый код в xml?

5, ты о domdocument?

Пришелец
0
6. Moto-Moto, эмм не знаю о такой функции в нем. Простейшие примеры есть на php.net
Автор
Пишу, строю и воображаю
0
я не знаю правильно ли написал я, но работат :-) выводит так как я хотел... переменная $process с тем что в посте #1...

preg_match_all("/([^>]*class=\"left\">)([^<]*)/",$proccess,$matches);
for ($i=0; $i<10; $i++) {
echo $matches[0][$i];
}

если кто поправит буду рад.

Добавлено через 05:30 сек.
ФИНАЛЬНАЯ ВЕРСИЯ :-)

<?php
preg_match_all("/([^>]*class=\"left\">)([^<]*)/",$proccess,$matches);
for($i=0;$i<10;$i++){
	$matches[0][$i]=str_replace("<span class=\"left\">","",$matches[0][$i]);
	$matches[0][$i]=str_replace("\n","",$matches[0][$i]);
	$matches[0][$i]=str_replace(" ","",$matches[0][$i]);
	echo"<a href='/".$matches[0][$i]."' title=\"\"><li>".$matches[0][$i]."</li></a>";
}
?>

Кто в регулярных выражениях шарит, пожалуйста просмотрите. Я нигде ошибку не совершил? Хотя всё работает как надо

Добавлено через 08:12 сек.
кому интересно, могу ссылку в личку дать, покажу уже наглядно на сайте, как это работает и откуда я брал данные)

Оранжевые штаны
0
8. Moto-Moto, не забудь кеширование написать, а то твой сайт положат в 10 машин..

Добавлено через 02:22 сек.
1. Moto-Moto, тебе нужно только имена вытащить из всего хтмл кода??

Добавлено через 06:45 сек.
1. Moto-Moto, для твоего хтмл кода будет такое регулярное выражение.
preg_match_all('|left\">(.*)<\/s|sU', $html, $matches);
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск