2010-07-01 5 views
2

Ive a regardé autour un peu pour une regex me aider à trouver une balise d'ancrage avec un mp3 comme href. Je voudrais tout d'abord obtenir une expression régulière qui permettra de repérer ce modèle afin que je puisse remplacer ces liens avec un joueur et ensuite, je besoin d'extraire le lien de href.avec PHP preg_replace() REGEX pour les URL MP3

Je comprends à peine comment créer ou utiliser une expression régulière de sorte que toute aide pour accomplir cela sera utile.

Merci, Jesse

+0

Êtes-vous à la recherche de regex bagout? – BlueBird

+1

J'ai une bonne règle de réécriture contre un tel Hotlinkers :) –

Répondre

0

Cela fera l'affaire

~<a.*?href="(?P<url>.*?\.mp3(?:\?.*?)?)".*?>~is 

cependant, il est à peine d'être considéré comme optimal.

+0

que voulez-vous dire par sa peine optimale, est-il une meilleure façon? – Jesse

0

au début, cela ne fonctionnait pas tout à fait pour moi. J'ai fait quelques changements et maintenant je l'ai eu. je devais changer le ~ à/et j'ai dû remplacer tout le chemin à la balise d'ancrage de fermeture si Heres ce que im en utilisant.

/<a.*?href="(?P<url>.*?\.mp3(?:\?.*?)?)">.*?<\/a>/is

Merci de me faire dans la bonne direction

1

Supposant que vous avez déjà obtenu les liens -e.g. get_elements_by_tagname('a') - tout ce que vous devez faire est:

if(substr($href, -4)=='.mp3'){ 
    // Is an MP3 link 
}