Php ile <a> Link Etiketi Nasıl Parçalanır Versiyon 2.10

soulmy php 23.Nis.2014 60 görüntülenme 2 yorum

Diyelim bir link tagı içindeki class, id, rel, url gibi parametrelerin değerlerini almak istiyorsunuz. Kendi hazırladığım fonksiyonla bunu yapabilirsiniz.

Fonksiyon

function parse_a_tag($a){
    
    $outpot = array();

        if ( preg_match('/href\=[\"\'](.*?)[\"\']/is',$a,$l)             ) { $outpot['url']   = trim($l[1]); } else { return array(); }
        
        if ( preg_match('/rel\=[\"\'](.*?)[\"\']/is',$a,$z)             ) { $outpot['rel']   = explode(",",trim($z[1]));     $outpot['rel']   = array_map('trim',$outpot['rel']);    }
        if ( preg_match('/id\=[\"\'](.*?)[\"\']/is',$a,$z)                 ) { $outpot['id']    = explode(" ",trim($z[1]));     $outpot['id']    = array_filter($outpot['id']);         }
        if ( preg_match('/class\=[\"\'](.*?)[\"\']/is',$a,$z)             ) { $outpot['class'] = explode(" ",trim($z[1]));     $outpot['class'] = array_filter($outpot['class']);      }
        if ( preg_match_all('/data-(.*?)\=[\"\'](.*?)[\"\']/is',$a,$z)  ) { $z[2]             = array_map('trim',$z[2]);        $outpot['data']  = array_combine($z[1], $z[2]);         }
        if ( preg_match('/title\=[\"\'](.*?)[\"\']/is',$a,$z)             ) {                                                 $outpot['title'] = trim($z[1]);                         }
    
    return $outpot;

}

Kullanımı

$a_tag_array = parse_a_tag('<a href="http://example.com" rel="nofollow, noindex" id="id1 id12" class="class1 class2" data-tag="lorem" data-tags="lorem ipsum" title="keyword" >Tıkla</a>');

Sonuç array olarak dönecektir.

Başka bir yazıda görüşmek üzere bye bye smiley

Yorumlar

Cemal
Merhaba,

Paylaşımınız için teşekkürler.

Web tasarım ajansı birNC olarak Php konulu bu sayfanızı güncellemenizi rica ederiz.

İşlerinizde başarılar.
soulmy
Teşekkürler.

İşten güçten fırsat bulamıyorum ne yazık ki.