Modifier les liens dans un tchat

AlainGraber Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   -  
AlainGraber Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

3 réponses

dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
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
AlainGraber Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   13
 
merci, c'est exactement ce qu'il me faillait :)
0
AlainGraber Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   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 ?
0
dugenou Messages postés 6087 Date d'inscription   Statut Contributeur Dernière intervention   1 452
 
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
-1