url_absolue et protocoles spécifiques d’ouverture d’application…
Bonjour,
On vient de nous signaler un souci, à l’origine assez simple : Une url de type whatsapp://send?text=xxxx
qui passe dans la fonction url_absolue()
se transforme en une url http://domain.tld/whatsapp:/
… Elle n’est pas reconnue comme url absolue déjà valide donc.
Le problème vient de la fonction suivre_lien
qui limite le protocole (uri scheme) entre 3 et 7 caractères pour être considéré valide.
Cette limitation, assez logique pour ce qu’on trouve comme URL habituellement sur les internets, ne l’est pas dans le cadre de ces utilisations.
Il semblerait qu’il n’y ait pas de limitation de taille pour le nom d’uri sheme normalement (https://stackoverflow.com/questions/39927628/is-there-a-maximum-length-for-a-protocol-name)
Il faudrait donc changer la (les) regexp de suivre_lien preg_match(';^((?:[a-z]{3,7}:)?//.*?)(/.*)?$;iS', $lien, $r)
peut être en changeant {3,7}
en {3,}
?