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

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

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

 

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

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

тема: Спарсить картинку
 
 автор: allforweb   (20.01.2011 в 23:31)   письмо автору
 
 

Просьба помочь вытянуть картинку. За книгу Д.Фридла только сел, а выражение нужно уже сейчас.

Спарсить нужно картинки с YouTube.
Я получаю код страницы в котором строка с адресом картинки:
<meta property="og:image" content="http://i4.ytimg.com/vi/3wx408mCx-8/default.jpg" /> 

Помогите написать выражение для того, чтобы вытянуть чистый URL и спарсить ее.

  Ответить  
 
 автор: CodeIgniter   (21.01.2011 в 00:11)   письмо автору
 
   для: allforweb   (20.01.2011 в 23:31)
 



<?php

$pattern 
"|content=\"(.*?)\"|is"
$text '<meta property="og:image" content="http://i4.ytimg.com/vi/3wx408mCx-8/default.jpg" />';

preg_match($pattern$text$out);

$url $out[1];

unset (
$out);

echo 
$url;

$file_path_directory "C:/asd.jpg";

if (!
copy($url,$file_path_directory)) {
    
    echo 
"<p>Файл был не скопирован!</p>";
    
} else {
    
    echo 
"<p>Файл успешно скопирован!</p>";
    
}

?>

  Ответить  
 
 автор: neadekvat   (21.01.2011 в 00:19)   письмо автору
 
   для: CodeIgniter   (21.01.2011 в 00:11)
 

И правда все на жадности помешаны :)

И, кстати, зачем модификатор s?

Можно так:
/content="([^"]+)/i

Случай, когда кавычки гарантировано будут.

/content=([^\s>]+)/i

Случай без кавычек.

  Ответить  
 
 автор: allforweb   (21.01.2011 в 00:49)   письмо автору
 
   для: neadekvat   (21.01.2011 в 00:19)
 

Мне нужно не на одну картинку а на постоянный парсинг выражение.
Вот что вытаскивает твое:
content="http://i4.ytimg.com/vi/3wx408mCx-8/default.jpg"

  Ответить  
 
 автор: neadekvat   (21.01.2011 в 00:53)   письмо автору
 
   для: allforweb   (21.01.2011 в 00:49)
 

О, мы с вами уже на ты?
Массив то выходной полностью посмотрите.

  Ответить  
 
 автор: allforweb   (21.01.2011 в 02:48)   письмо автору
 
   для: neadekvat   (21.01.2011 в 00:53)
 

Все оказалось много проще:
$get_image = preg_match_all('<meta property="og:image" content="(.+?)" />', $get_source, $matches);


Хотя я и не уверен, что это оптимальный вариант, но для такой простой задачи вполне достаточно.

  Ответить  
 
 автор: neadekvat   (21.01.2011 в 07:37)   письмо автору
 
   для: allforweb   (21.01.2011 в 02:48)
 

Удивительный человек..
Вам представили три варианта.
Причем один из них вместе с сохранениям изображения.

  Ответить  
 
 автор: allforweb   (22.01.2011 в 01:03)   письмо автору
 
   для: neadekvat   (21.01.2011 в 07:37)
 

Парсить и сохранять я умею, мне нужно было выражение чтобы вытаскивать адрес картинок и все.

  Ответить  
 
 автор: neadekvat   (22.01.2011 в 01:05)   письмо автору
 
   для: allforweb   (22.01.2011 в 01:03)
 

Таковых в теме было представлено три.

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

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