Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Извлечение ссылок
 
 автор: lili   (07.05.2006 в 19:07)   письмо автору
 
 

Есть страничка типа такая:

html-код

<a class=white id=yelhover href=/click.php?linkid=5715&amp;url=http%3A%2F%2Fwww.site1.ru%2F target=_blank>Название site1</a>

html-код

<a class=white id=yelhover href=/click.php?linkid=4894&amp;url=http%3A%2F%2Fwww.site2.ru%2catalog%2F target=_blank>Название site2</a>

html-код

<a class=white id=yelhover href=/click.php?linkid=7179&amp;url=http%3A%2F%2Fwww.site3.ru%2F target=_blank>Название site3</a>

html-код

<a class=white id=yelhover href=/click.php?linkid=2679&amp;url=http%3A%2F%2Fwww.site4.ru%2Fcatalog%2F target=_blank>Название site4</a>

где html-код -любой код,
www.site1.ru
www.site2.ru
www.site3.ru
www.site4.ru
это адреса ссылок,
а соответственно - Название site1, Название site2 и т.д. -названия ссылок.
У ссылок могут быть еще подпапки с любым названием- я их назвал - catalog и они в моем варианте есть у сайтов 1 и 4.
Как написать рег. выражение - чтобы на выходе получить обычный перечень ссылок-
например - в одной переменной - ссылки, а в другой-их названия?
Или просто перечень ссылок отсюда выделить?
Помогите советом, пожалуйста!

   
 
 автор: cheops   (07.05.2006 в 22:39)   письмо автору
 
   для: lili   (07.05.2006 в 19:07)
 

Прикрепите файл с HTML-кодом, если не сложно, и напишите ещё раз, что требуется извлечь, что-то не очень понятно...

   
 
 автор: lili   (08.05.2006 в 11:50)   письмо автору
 
   для: cheops   (07.05.2006 в 22:39)
 

Так файл-боьшеват...
А тут же все ясно-
между ссылками <a></a> расположен любой ненужный нам код-его просто отбросить надо и все...
Нам нужно выделить в отдельный массив просто перечень ссылок -то есть то, что находится между http%3A%2F%2F и %2F target=
это и есть адрес ссылки.
а иногда эта ссылка имеет вид www.site2.ru%2catalog
где catalog -может быть любое название подпапки адреса.
Ну то есть настоящий адрес ссылки будет - www.site2.ru/catalog
или www.site2.ru/news например, а в исходном коде черта обозначена как %2
------------------------
html-код

<a class=white id=yelhover href=/click.php?linkid=5715&amp;url=http%3A%2F%2Fwww.site1.ru%2F target=_blank>Название site1</a>

html-код

<a class=white id=yelhover href=/click.php?linkid=4894&amp;url=http%3A%2F%2Fwww.site2.ru%2catalog%2F target=_blank>Название site2</a>

html-код

<a class=white id=yelhover href=/click.php?linkid=7179&amp;url=http%3A%2F%2Fwww.site3.ru%2F target=_blank>Название site3</a>

html-код

<a class=white id=yelhover href=/click.php?linkid=2679&amp;url=http%3A%2F%2Fwww.site4.ru%2Fcatalog%2F target=_blank>Название site4</a>
------------------

помогите.....

   
 
 автор: cheops   (09.05.2006 в 10:57)   письмо автору
 
   для: lili   (08.05.2006 в 11:50)
 

Можно поступить следующим образом
<?php
  $text 
'<a class=white id=yelhover href=/click.php?linkid=5715&amp;url=http%3A%2F%2Fwww.site1.ru%2F target=_blank>Название site1</a>
html-код
<a class=white id=yelhover href=/click.php?linkid=4894&amp;url=http%3A%2F%2Fwww.site2.ru%2catalog%2F target=_blank>Название site2</a>
html-код
<a class=white id=yelhover href=/click.php?linkid=7179&amp;url=http%3A%2F%2Fwww.site3.ru%2F target=_blank>Название site3</a>'
;
  
$pattern "|url=([^\s]+)[\s]target=|";
  
preg_match_all($pattern$text$out);
  echo 
"<pre>";
  
print_r($out[1]);
  echo 
"</pre>";
?>

PS Файл, кстати можно прикрепить к сообщению в виде файла.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования