[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подскажите, как?
Anton11
Мне нужно со страницы rss получить все блоки со ссылками на уроки. Блоки вида
<a href="http://uroki-photoshop.com/view.php?rub=1&id=4">Стеклянный пазл</a>

код страницы получаю выражением:
$content = file_get_contents($URL);

Не могу сообразить, какое выражение будет правильным. Начало и конец блока везде одинаковые, только содержимое атрибута href и текст разные, но как это написать в виде символьного класса не знаю.

P.S. Указал вот так:
#/^(a\shref=)[a-zA-Z0-9](/a)/#

в массив добавились два значения
1 - Array
2 - Array
:blink:



Спустя 3 часа, 2 минуты, 50 секунд (16.12.2011 - 05:36) Игорь_Vasinsky написал(а):
#\"http\://([^\"].*)\">#isU


через preg_match_all()

array - ????

так ты и получишь массив на выходе :D

Спустя 7 часов, 34 минуты, 1 секунда (16.12.2011 - 13:10) Winston написал(а):
'#href="(.*)"#isU'

А потом, чтобы посмотреть, что нашло пропиши
echo '<pre>'.print_r($match, 1).'</pre>';

Спустя 1 час, 47 минут, 11 секунд (16.12.2011 - 14:57) Anton11 написал(а):
Цитата (Игорь_Vasinsky @ 16.12.2011 - 02:36)
#\"http\://([^\"].*)\">#isU


Array
(
[0] => Array
(
[0] => "http://feeds.feedburner.com/~d/styles/itemcontent.css"?>
)

[1] => Array
(
[0] => feeds.feedburner.com/~d/styles/itemcontent.css"?>


Спустя 1 минута, 40 секунд (16.12.2011 - 14:59) Anton11 написал(а):
Цитата (Winston @ 16.12.2011 - 10:10)
'#href="(.*)"#isU'


Array
(
[0] => Array
(
[0] => href="/~d/styles/rss2full.xsl"
[1] => href="http://feeds.feedburner.com/~d/styles/itemcontent.css"
[2] => href="http://feeds.feedburner.com/photoshop-phpru"
[3] => href="http://pubsubhubbub.appspot.com/"
)

[1] => Array
(
[0] => /~d/styles/rss2full.xsl
[1] => http://feeds.feedburner.com/~d/styles/itemcontent.css
[2] => http://feeds.feedburner.com/photoshop-phpru
[3] => http://pubsubhubbub.appspot.com/
)

)


Ни то, ни се. Где-то ошибка.

Спустя 1 минута, 23 секунды (16.12.2011 - 15:00) Winston написал(а):
Цитата (Anton11 @ 16.12.2011 - 13:59)
Ни то, ни се. Где-то ошибка.

Ммм... да...

Покажи весь код.

Спустя 20 минут, 7 секунд (16.12.2011 - 15:20) killer8080 написал(а):
preg_match_all('#href="(http://uroki-photoshop\.com.*)"#isU', $content, $match);
echo '<pre>'.print_r($match, 1).'</pre>';


В $match[1] будет массив всех ссылок уроков.

Спустя 5 минут, 55 секунд (16.12.2011 - 15:26) Anton11 написал(а):
Цитата (Winston @ 16.12.2011 - 12:00)
Покажи весь код.

<?php
$URL = "http://feeds.feedburner.com/photoshop-phpru";
$content = file_get_contents($URL);

preg_match_all('#href="(.*)"#isU',$content,$title);

echo '<pre>'.print_r($title, 1).'</pre>';

$fp = fopen("111.txt",'w');
fwrite($fp,$title);
fclose($fp);

?>



Спустя 2 минуты, 55 секунд (16.12.2011 - 15:29) Anton11 написал(а):
Цитата (killer8080 @ 16.12.2011 - 12:20)
preg_match_all('#href="(http://uroki-photoshop\.com.*)"#isU', $content, $match);
echo '<pre>'.print_r($match, 1).'</pre>';


В $match[1] будет массив всех ссылок уроков.

Не то
Array
(
[0] => Array
(
)

[1] => Array
(
)

)

Спустя 3 минуты, 21 секунда (16.12.2011 - 15:33) Winston написал(а):
А так ?
preg_match_all('#<guid>(.*)</guid>#isU',$content,$title);

Спустя 1 минута, 15 секунд (16.12.2011 - 15:34) killer8080 написал(а):
Anton11
а ты исходник то открывал? Где там
Цитата (Anton11 @ 16.12.2011 - 01:33)
<a href="http://uroki-photoshop.com/view.php?rub=1&id=4">Стеклянный пазл</a>

там
<title>Стеклянный пазл</title>
<link>
http://uroki-photoshop.com/view.php?rub=1&id=4</link>
<description>
Здесь вы узнаете как всего за пару действий можно легко нарисовать стеклянный пазл в Фотошопе</description>
<author>
Зина Лукьянова</author>
<guid>
http://uroki-photoshop.com/view.php?rub=1&id=4</guid>
</item><item>


Спустя 9 минут, 47 секунд (16.12.2011 - 15:44) Anton11 написал(а):
Цитата (killer8080 @ 16.12.2011 - 12:34)
Anton11
а ты исходник то открывал? Где там

Странно. Вчера там был совсем другой код. blink.gif У меня он даже сохранен. Ладно, буду пробовать адаптировать к этому.

Спустя 2 минуты, 13 секунд (16.12.2011 - 15:46) killer8080 написал(а):
Цитата (Anton11 @ 16.12.2011 - 14:44)
Ладно, буду пробовать адаптировать к этому.

Че там пробовать? Winston тебе уже дал готовую регулярку smile.gif

Спустя 7 минут, 53 секунды (16.12.2011 - 15:54) Anton11 написал(а):
Цитата (killer8080 @ 16.12.2011 - 12:46)
Цитата (Anton11 @ 16.12.2011 - 14:44)
Ладно, буду пробовать адаптировать к этому.

Че там пробовать? Winston тебе уже дал готовую регулярку smile.gif

А, ну да. smile.gif Спасибо, Winston!
Только почему в $title два одинаковых вложенных массива? Не, понятно, что можно вывести print_r($title[0], 1). Просто чтобы без лишнего.

Спустя 5 минут, 30 секунд (16.12.2011 - 15:59) Winston написал(а):
Цитата (Anton11 @ 16.12.2011 - 14:54)
Только почему в $title два одинаковых вложенных массива? Не, понятно, что можно вывести print_r($title[0], 1). Просто чтобы без лишнего.

В элементе $title[0] идет совпадение со всем шаблоном, то есть там же есть тег <quid>
А в $title[n] будет совпадение с n-ой парой круглых скобок. Но если хочешь, можешь, то можешь убрать круглые скобки в моем шаблоне и тогда у тебя будет только элемент $title[0], а потом для каждого элемента применишь strip_tags(), чтобы удалить тег gгid

Спустя 9 минут, 54 секунды (16.12.2011 - 16:09) killer8080 написал(а):
Цитата (Winston @ 16.12.2011 - 14:59)
а потом для каждого элемента применишь strip_tags(), чтобы удалить тег gгid

извращение какое rolleyes.gif laugh.gif
Быстрый ответ:

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