Fonction verifiant URL

Bonjour,

je ne sais pas si je suis au bon endroit pour exposer mon problème mais comme c’est dans le contexte PHP/MySQL, je me suis dit que j’allais demander ici.

En fait, je voudrais vérifier la présence ou non d’une URL dans une chaine de caractère. Pour cela, je fais appel à une fonction que j’ai écrite. Le problème, c’est que lorsque je cela ne fonctionne que lorsque l’adresse saisie est du type : blabla.blabla.bla…[/url] (ou [url=https://blabla.blabla.bla).]blabla.blabla.bla)…

Bref, dès que je saisie une adresse du style www.blabla.com, ça ne detecte pas la presence d’url, et de même lorsqte je prend le protocle

Voici la fonction que jutilise


function presenceURL ($chaine) {
	if (!ereg('[(http(s)?|ftp)://]?'
		 . '[:alnum:]+\.'
		 . '[:alnum:]+\.'
		 . '[:alpha:]{2,4}',
			$chaine)) {
		return false;
	}
	return true;
}

Je ne suis pas un “as” en expressions régulière donc je suis très vite arrivé à cours d’eventuelles solutions devant mon problème !

En vous remerciant par avance, je vous souhaite une bonne journée :slight_smile:

Arnaud.

parce que le masque est faux à la base.

Essaye ça :

return preg_match(’/(https?|ftp)://[a-z0-9_-]+(.[a-z0-9_-]+)*/i’, $chaine));

Et si tu es en PHP5 : fr.php.net…

En 5.2 et plus précisément.

Ok, je vais aller voir ça, merci de votre aide :slight_smile: