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

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

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

 

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

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

тема: Ссылки
 
 автор: Holodok   (21.02.2007 в 01:45)   письмо автору
 
 

Доброго времени суток.
Возник такой вопрос. Как получить все полученный ссылки в результате поиска на domainsdb.net
, если ссылки в исходнике страницы с таком виде:

<tr><td>1. </td><td><b><a href="http://doctorcomp.ru/" class=text12 target=_blank>doctorcomp.ru</a>
              
 <tr><td>2. </td><td><b><a href="http://smena.ru/" class=text12 target=_blank>smena.ru</a>

 <tr><td>3. </td><td><b><a href="http://transleader.ru/" class=text12 target=_blank>transleader..ru</a>

   
 
 автор: cheops   (21.02.2007 в 02:08)   письмо автору
 
   для: Holodok   (21.02.2007 в 01:45)
 

Можно поступить следующим образом
<?php
  $text 
'<tr><td>1. </td><td><b><a href="http://doctorcomp.ru/" class=text12 target=_blank>doctorcomp.ru</a> 
 <tr><td>2. </td><td><b><a href="http://smena.ru/" class=text12 target=_blank>smena.ru</a> 
 <tr><td>3. </td><td><b><a href="http://transleader.ru/" class=text12 target=_blank>transleader..ru</a>'
;
  
$pattern "|<a href=\"([^\"]+)\"[^>]+>([^<]+)<|is";
  
preg_match_all($pattern,
                 
$text,
                 
$out);
  unset(
$out[0]);
  echo 
"<pre>";
  
print_r($out);
  echo 
"</pre>";
?>

   
 
 автор: Holodok   (21.02.2007 в 09:08)   письмо автору
 
   для: cheops   (21.02.2007 в 02:08)
 

А почему он выводит результат два раза? И можно ли как-нибудь сделать, чтоб выводились только ссылки, а не Array
(
[1] => Array
( и т.д

   
 
 автор: cheops   (21.02.2007 в 12:43)   письмо автору
 
   для: Holodok   (21.02.2007 в 09:08)
 

Потому что извлекаются адреса и названия ссылок - если вам не нужны названия, просто не используйте... дело в том, что это дамп массива, с которым вы можете делать всё что захотите. Например, чтобы вывести список ссылок можно воспользоваться следующим вариантом
<?php 
  $text 
'<tr><td>1. </td><td><b><a href="http://doctorcomp.ru/" class=text12 target=_blank>doctorcomp.ru</a>  
 <tr><td>2. </td><td><b><a href="http://smena.ru/" class=text12 target=_blank>smena.ru</a>  
 <tr><td>3. </td><td><b><a href="http://transleader.ru/" class=text12 target=_blank>transleader..ru</a>'

  
$pattern "|<a href=\"([^\"]+)\"[^>]+>([^<]+)<|is"
  
preg_match_all($pattern
                 
$text
                 
$out); 
  for(
$i 0$i count($out[1]); $i++)
  {
    echo 
$out[1][$i]."<br>";
  }
?>

   
 
 автор: Holodok   (21.02.2007 в 15:11)   письмо автору
 
   для: cheops   (21.02.2007 в 12:43)
 

cheops Огромное Вам спасибо!
С регулярными выражениями, всё никак справится не могу...
Вот вопросик такой ещё:

   
 
 автор: cheops   (21.02.2007 в 22:09)   письмо автору
 
   для: Holodok   (21.02.2007 в 15:11)
 

Хм... что-то вопрос не прекрепился.

   
Rambler's Top100
вверх

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