Générer automatiquement un lien cliquable

tomatoe
Invité n'ayant pas de compte PHPfrance

17 nov. 2006, 17:44

Bonjour,

Je suis en train de mettre en place un système de mise à jour par formulaires pour le site ouaibe de ma boîte. J'ai bien avancé, mais je galère sur un point en particulier.
Par exemple j'ai une section agenda, qui va piocher dans une base MySQL le titre, le corps de l'info, les infos supplémentaires etc.
Dans $row['description'] j'ai parfois des url que j'aimerais pouvoir recoder à la volée en lien cliquable :

au lieu d'avoir (dans la source)

Code : Tout sélectionner

http://www.monsite.com
j'aimerais générer

Code : Tout sélectionner

<a href="http://www.monsite.com" target="_blank" class="maclasse">www.monsite.com</a>
J'ai essayé de trouver sur le net mais sans grand succès, j'ai trouvé quelques infos sur les expressions régulières mais je galère. Est-ce que quelqu'un pourrait me donner des indices ?

Merci beaucoup !

Mammouth du PHP | 19672 Messages

17 nov. 2006, 17:49

Montre-nous ce que tu as tenté avec les expressions régulières, même si c'est faux et non fonctionnel, on aura un point de départ.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

tomatoe
Invité n'ayant pas de compte PHPfrance

17 nov. 2006, 17:55

en fait j'ai rien tenté avec. En gros j'ai une variable genre $description dans laquelle je peux avoir 0, 1, 2 ou même plus d'URLs. Alors je me dis que je peux essayer de reconnaître la chaîne "http://", repérer la position du "h", copier dans une autre variable tous les caractères jusqu'au prochain " " etc mais ça me paraît foireux et un peu trop manuel...

Mammouth du PHP | 19672 Messages

17 nov. 2006, 17:58

Donc le premier problème, c'est la mise au point d'une expression régulière pour "reconnaître" une URL dans une chaine de texte. As-tu essayé de parcourir le tuto de Ripat sur le site de PHPFrance à propos des REGEX ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

tomatoe
Invité n'ayant pas de compte PHPfrance

17 nov. 2006, 18:02

Non je vais aller voir ça de ce pas... mais je vois pas bien le concept général.

Mammouth du PHP | 19672 Messages

17 nov. 2006, 18:24

Le concept général est relativement simple mais, j'en conviens, d'un accès un peu ardu quand on est pas familier du tout avec.

Grosso-modo, on utilise des caractères spéciaux et des caractères ou chaines de caractères pour construire ce qu'on appelle un "masque", entend par là, un masque générique, donc à quoi peuvent correspondre plusieurs possibilités de chaines. L'exemple des urls est parfait pour ça. Je te laisse essayer de digérer un peu le tuto, suis les liens indiqués et reviens avec les questions qui te viendront. Tu verras plusieurs exemples pratiques, il restera à adapter à ton besoin.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: