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

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

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

 

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

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

тема: Составить и вывести список всех рисунков, используемых страницами сайта
 
 автор: maxmax   (13.10.2006 в 16:48)   письмо автору
 
 

Кто-нибудь, помогите решить задачу!
Составить и вывести список всех рисунков, используемых страницами www- сайта. Вывод разделить на две части: рисунки, расположенные на сайте и рисунки, расположенные на других сайтах.

   
 
 автор: aexb   (13.10.2006 в 20:31)   письмо автору
 
   для: maxmax   (13.10.2006 в 16:48)
 

Если говорить об одной странице, то можно открывать страницу функцией (сейчас не помню, пороюсь на php.net - отпишусь), парсить её код на предмет тэга "<img" и src="http://www.mysite.ru", и, собственно, считать количество. Если знать особенность написания конкретного сайта (один автор, как правило, пишет код в одной и той же манере), то будет проще сварганить такую функцию.

P.S. Когда-то я писал функцию, которая по cron'у выдергивала на amazon.com цены на нужные мне товары и сама вносила их в мою БД. Потом они эт дело прикрыли, изменив принцип отображения))))

   
 
 автор: kasmanaft   (13.10.2006 в 20:36)   письмо автору
 
   для: maxmax   (13.10.2006 в 16:48)
 

Примерно так можно поступить:

<?
$file 
file_get_contents('http://mail.ru');
$site 'mail.ru';
preg_match_all("|<img[\s]+.*?src=[\"']?([^\"'\s]*)[\"']?[^>]*>|i"$file$regs);
for (
$i 0$i count($regs[1]); $i++)
{
     echo 
$regs[1][$i];
     if (
substr($regs[1][$i], 07) == 'http://')
     {
         if (
strstr($regs[1][$i], $site))
         {
             echo 
' - отсюда<br>';
         }
         else echo 
' - не отсюда<br>';
     }
     else echo 
' - отсюда<br>';
}
?>

Картинки выдергивает на ура, а дальше можно еще научить

   
Rambler's Top100
вверх

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