Bonjour,
J'ai un petit souci et je n'arrive pas à trouver la réponse sur le net.
Je travail sur un script qui doit récupérer et retraiter des urls dans des pages webs. La regex qui me pose problème a pour but de récupérer les urls associées à des images.
La voici :
Elle fonctionne, mais il manque un détail pour qu'elle soit parfaite. Il faut qu'elle soit capable de traiter les liens si des choses sont insérées entre <a et href, ou entre <img et src.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 preg_match_all('#<a href=("|\')([^"\']*)("|\')[^>]*><img src=("|\')[^"\']*("|\')[^>]*></a>#', $contenu, $pages_images);
Par exemple, si sur une des pages scannée il y a quelque chose sous la forme <a href="#"><img id="truc" src="#" /></a>, elle ne fonctionne plus. Je voudrais donc procéder de la même façon que pour les fin de chaines.
J'ai essayé comme ça :
Mais évidemment ça ne fonctionne pas. Comme puis-je procéder pour obtenir "tout ce qui n'est pas href" et "tout ce qui n'est pas src" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 preg_match_all('#<a [^href]*href=("|\')([^"\']*)("|\')[^>]*><img [^src]*src=("|\')[^"\']*("|\')[^>]*></a>#', $contenu, $pages_images);
Merci beaucoup.
Partager