Modifier les liens dans un tchat

Fermé
Signaler
Messages postés
160
Date d'inscription
mercredi 11 janvier 2012
Statut
Membre
Dernière intervention
24 février 2021
-
Messages postés
160
Date d'inscription
mercredi 11 janvier 2012
Statut
Membre
Dernière intervention
24 février 2021
-
Bonjour,

J'ai un tchat, et j'aimerai que à chaque fois que un utilisateur, poste un message avec un lien, ce lien soit "cliquable", c'est à dire qu'une balise <a> se mette automatiquement.

J'ai déjà pensé à plusieurs solutions sans succès...

Alors si vous avez la solution pour le faire en js ou jquery ?
(Il m'est impossible de faire ceci en php)

Merci de votre futur aide, cordialement
Alain Graber

3 réponses

Messages postés
6083
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 445
Bonjour,

J'avais bien vu que tu ne peux pas le faire en PHP, mais comme tu ne dis pas pourquoi, j'ai pensé que tu ne savais pas coder en PHP.

je suppose que ton chat est en PHP et donc je ne voyais pas de raison de ne pas y ajouter cette fonction en PHP.

Je ne connais pas bien le JavaScript, mais en cherchant sur le net j'ai trouvé une expression régulière équivalente à celle en PHP :
https://books.google.fr/books?id=csQfVW3fnAwC&lpg=PA153&ots=OAuapFMN9H&dq=rendre%20url%20cliquable%20javascript&hl=fr&pg=PA153#v=onepage&q=rendre%20url%20cliquable%20javascript&f=false

J'ai aussi trouvé ceci :

Voici une petite fonction toute simple qui permet de chercher des URLs dans un texte et de les transformer en liens cliquables, le tout en Javascript :

function urlify(text)
{
var urlRegex = /(https?:\/\/[^\s]+)/g;

return text.replace(urlRegex, function(url) {
return `<a href="` + url + `" target="_blank">' + url + `</a>';
})
}
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
160
Date d'inscription
mercredi 11 janvier 2012
Statut
Membre
Dernière intervention
24 février 2021
13
merci, c'est exactement ce qu'il me faillait :)
Messages postés
160
Date d'inscription
mercredi 11 janvier 2012
Statut
Membre
Dernière intervention
24 février 2021
13
Re,

Oui en php je sais que c'est possible, mais comme précisé plus haut je ne peux pas.

Avez vous la solution en jquery ou javascript ?
Messages postés
6083
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 445
Bonjour,

En PHP, c'est possible avec l'expression régulière preg_replace()

<?php
$text = preg_replace('@([^>"])(https?://[a-z0-9\./+,%#_-]+)@i', '$1<a href="$2">$2</a>', $text);
?>


Voir : https://www.php.net/manual/fr/function.preg-replace.php