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

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

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

 

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

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

тема: Помогите вытащить все ссылки c условием.
 
 автор: AlexDIXI   (18.06.2011 в 16:55)   письмо автору
 
 

Нужно выпарсить c помощью preg_match_all все ссылки с html страницы, которые начинаются с http:// и заканчиваются такими вариантами .jpg, .jpeg, .gif, .png, .css, .js.

Такие ссылки могут быть в src= и в href= могут иметь кавычки такие " или такие ' или их может и не быть вовсе.

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

Заранее спасибо огромное!

  Ответить  
 
 автор: cheops   (18.06.2011 в 17:34)   письмо автору
 
   для: AlexDIXI   (18.06.2011 в 16:55)
 

>Такие ссылки могут быть в src= и в href=
А если ссылки находятся в другом месте их нужно игнорировать?

  Ответить  
 
 автор: AlexDIXI   (18.06.2011 в 21:01)   письмо автору
 
   для: cheops   (18.06.2011 в 17:34)
 

Можно везде.. Я привел пример с href и src..

Помогите очень надо пожалуйста..

  Ответить  
 
 автор: cheops   (18.06.2011 в 21:37)   письмо автору
 
   для: AlexDIXI   (18.06.2011 в 21:01)
 

Можно начать отталкиваться от следующего регулярного выражения
#http://(.*?)\.(jpg|jpeg|gif|png|css|js)#is

  Ответить  
 
 автор: AlexDIXI   (18.06.2011 в 21:58)   письмо автору
 
   для: cheops   (18.06.2011 в 21:37)
 

Вот пример что-то ваш паттерн не работает..

<?
$html 
file_get_contents("http://alexwm.com/admingal/pars/test.php");

preg_match_all('#http://(.*?)\.(jpg|jpeg|gif|png|css|js)#is'$html$out);

print_r($out);

?>

  Ответить  
 
 автор: cheops   (18.06.2011 в 22:23)   письмо автору
 
   для: AlexDIXI   (18.06.2011 в 21:58)
 

Поправьте скрипт следующим образом
<?php
  $html 
file_get_contents("http://alexwm.com/admingal/pars/test.php"); 
  
preg_match_all('#http://(?:[^\'"]*?)\.(?:jpg|jpeg|gif|png|css|js)#is'$html$out); 
  echo 
"<pre>";
  
print_r($out); 
  echo 
"</pre>";
?>

  Ответить  
 
 автор: AlexDIXI   (18.06.2011 в 22:35)   письмо автору
 
   для: cheops   (18.06.2011 в 22:23)
 

Ага теперь отработало как и ожидал. Спасибо за Ваш труд!

  Ответить  
Rambler's Top100
вверх

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