![img src php html Php ile resim linkini alma yöntemleri [src kısmı!]](https://makaleci.com/wp-content/uploads/2015/01/img-src-php-html.gif)
Phpde genelde lazım olan bir konudur arkadaşlar. Çoğu zaman işlem yaptığımız kodlarda yada yazı içerisinden resim linklerini ayırmak istediğimizde bize doğru sonucu vermesi bakımından böyle kodlara ihtiyaç duyarız. Php bir programlama dili olduğundan bir çok farklı yol ve yöntem üretilebilir, ancak ben burda en doğru sonucu alabileceğiniz yapıları örnekleriyle vermeye çalışacağım.
Örnek kullanacağımız resim kodu bu olacak:
<img border="0" src="/images/image.jpg" alt="Image" width="100" height="100" />
1. yöntem: HTML DOM Document Sınıfı
Bu yöntem benim genelde tercih ettiğim ve en doğru kesin sonucu veren bir yol. kod içerisindeki resme ait src kısmını aşağıdaki şekilde alabilirsiniz. Ancak unutmamanız gereken diğer elemanları almak istersenizde kullanabilirsiniz, örneğin: alt, title v.s
$html = '<img border="0" src="/images/image.jpg" alt="resim" width="100" height="100" />'; $doc = new DOMDocument(); $doc->loadHTML($html); $xpath = new DOMXPath($doc); $src = $xpath->evaluate("string(//img/@src)"); // sonuc: /images/image.jpg echo $src;
Bu kod sadece resimler için kullanılmamaktadır. Adı üstünde html dokümanları üzerinde işlem yapabilmeyi kolaylaştıran bir araç niteliğindedir. Bir yazı içinde çözmek istediğiniz her türlü yapı üzerinde işlem yapabilirsiniz. uzun uzadıya bu konuya deignmeyeceğim, bunun yerine php‘nin kendi sitedinden yararlanabilirsiniz. Yukarıdaki dom sınıfı için buradaki siteden örnek aldım.
2. yöntem: Preg Match
Bu yöntemde phpnın düzenli ifadeler üzerinde işlem yapılabilmesine olanak veren fonksiyonudur. Bir yazı yada kalıp içerisinde regex ile eşleştirme yaparak bize sonucu verir. Örnek kod uygulamamız:
$html = '<img border="0" src="/images/image.jpg" alt="resim" width="100" height="100" />'; preg_match( '/<img.+src=[\'"]([^\'"]+)[\'"].*>/i' , $html, $match ); $src = array_pop($match); // sonuc: /images/image.jpg echo $src;
Yukarıdaki kodlarda kesin sonucu verecektir arkadaşlar, uygulamalarınızda gönül rahatlığı ile kullanabilirsiniz.