Donc, je veux faire correspondre les structures de lien ci-dessous avec un preg_match_all en php ..Avoir un peu de maux de tête regex avec des liens divers et délimiteurs href (« et «)
<a garbage href="http://this.is.a.link.com/?query=this has invalid spaces" possible garbage>
<a garbage href='http://this.is.a.link.com/?query=this also has has invalid spaces' possible garbage>
<a garbage href=http://this.is.a.link.com/?query=no_spaces_but_no_delimiters possible garbage>
<a garbage href=http://this.is.a.link.com/?query=no_spaces_but_no_delimiters>
je peux obtenir » et » urls deilmited un en faisant
'#<a[^>]*?href=("|\')(.*?)("|\')#is'
ou je peux obtenir tous les trois, mais pas s'il y a des espaces dans les deux premiers avec:
'#<a[^>]*?href=("|\')?(.*?)[\s\"\'>]#is'
Comment puis-je formuler ceci pour qu'il prenne "et" délimité avec des espaces potentiels, mais aussi des URL correctement encodées sans délimiteurs.
[Le
BTW, je recommande d'utiliser cette syntaxe: [ab] au lieu de: (a | b) parce qu'il est plus commun (plus facile pour la plupart d'entre nous de lire), plus court, et probablement plus rapide. – JasonWoof