Regex'le html içinden img etiketini ayırmak

Geçenlerde yazdığım bir script'te html içinden img etiketlerini ayırma gereği duydum.

Esefle belirtiyorum ki, Regex'le aram pek iyi değil. O yüzden internetten arayarak şu kodlara ulaştım:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="tr">
<head>
  <title>Regex</title>
  <meta http-equiv="content-type" content="text/html; charset=windows-1254" />
</head>
<body>
<?php
  $metin = '<p>fjhhg</p><p><img src="/deneme/blog/upload/image/tnotomatikduzelt.jpg" alt="" width="400" height="431"></p><p>lkhljh</p>'.
    '<p>fjhhg</p><p><img src="/deneme/blog/upload/image/tnotomatikduzelt.jpg" alt="" width="400" height="431"></p><p>lkhljh</p>';
  preg_match_all('#<img[^>]*>#i', $metin, $eslesenler);
  echo "<pre>";
  print_r($eslesenler); 
  echo "</pre><br>";
  preg_match('@<img.+src="(.*)".*>@Uims', $metin, $matches);
  echo "<pre>";
  print_r($matches); 
  echo "</pre><br>";
?>
</body>
</html>

Yukarıdaki kodlar aşağıdaki şekilde çıktı vermekte:

  Array
  (
      [0] => Array
          (
              [0] => <img src="/deneme/blog/upload/image/tnotomatikduzelt.jpg" alt="" width="400" height="431">
              [1] => <img src="/deneme/blog/upload/image/tnotomatikduzelt.jpg" alt="" width="400" height="431">
          )
  )

  Array
  (
      [0] => <img src="/deneme/blog/upload/image/tnotomatikduzelt.jpg" alt="" width="400" height="431">
      [1] => /deneme/blog/upload/image/tnotomatikduzelt.jpg
  )

 

26.08.2011 15:12:24

Yorumlar

Bu yazıya henüz yorum yapılmamış.

Yazı hakkında yorum yapmak için, buraya tıklayın.

Kategoriler :

Arşiv :

Etiketler :

Bağlantılar :