Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: регулярка для src
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » регулярка для src

Страниц (1): [1]
 

1. alexiy - 22 Августа, 2014 - 12:43:58 - перейти к сообщению
есть HTML
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div id="wrap"><a onclick="openImgPopup('/images/film_big/461958.jpg'); return false" href="/images/film_big/461958.jpg" class="popupBigImage cloud-zoom" data-popup-info="disabled">
  3.                         <img width="205" itemprop="image" alt="Геракл (Hercules)" src="http://st.kp.yandex.net/images/film_iphone/iphone360_461958.jpg">
  4.                         <span></span>
  5.                     </a></div>
  6.  


как из этого HTML с помощью регулярки или другого инструмента получить SRC картинки?
2. DelphinPRO - 22 Августа, 2014 - 12:46:50 - перейти к сообщению
3. alexiy - 22 Августа, 2014 - 12:56:15 - перейти к сообщению
DelphinPRO
а если в HTML будет присутствовать еще один атрибут src, как тогда быть?
4. DelphinPRO - 22 Августа, 2014 - 13:06:15 - перейти к сообщению
preg_match_all
5. armancho7777777 - 22 Августа, 2014 - 13:47:02 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $html = <<<HTML
  2.  
  3. <div id="wrap">
  4.    <a onclick="openImgPopup('/images/film_big/461958.jpg'); return false"
  5.       href="/images/film_big/461958.jpg" class="popupBigImage cloud-zoom" data-popup-info="disabled">
  6.        <img width="205" itemprop="image" alt="Геракл (Hercules)" src="http://st.kp.yandex.net/images/film_iphone/iphone360_461958.jpg">
  7.        <span></span>
  8.    </a>
  9. </div>
  10.  
  11. HTML;
  12.  
  13. $srcList = array();
  14. $dom = new DOMDocument();
  15. @$dom->loadHTML($html);
  16. $xPath = new DOMXPath($dom);
  17. $host = 'http://st.kp.yandex.net/';
  18.  
  19. foreach($xPath->query('//div[@id="wrap"]/a') as $link)
  20. {
  21.     $href = preg_replace('/^\//', $host, $link->getAttribute('href'));
  22.  
  23.     if($thumb = $xPath->query('./img[1]', $link)->item(0)) {
  24.         $thumb = $thumb->getAttribute('src');
  25.     }
  26.  
  27.     $srcList[] = array(
  28.         'image' => $href,
  29.         'thumb' => $thumb
  30.     );
  31. }
  32.  
  33. print_r($srcList);

Результат: (Отобразить)

 

Powered by ExBB FM 1.0 RC1