Modifier les liens dans un tchat

Fermé
AlainGraber Messages postés 160 Date d'inscription mercredi 11 janvier 2012 Statut Membre Dernière intervention 24 février 2021 - 29 juil. 2015 à 04:22
AlainGraber Messages postés 160 Date d'inscription mercredi 11 janvier 2012 Statut Membre Dernière intervention 24 février 2021 - 31 juil. 2015 à 00:24
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 mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
30 juil. 2015 à 06:07
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 mercredi 11 janvier 2012 Statut Membre Dernière intervention 24 février 2021 13
31 juil. 2015 à 00:24
merci, c'est exactement ce qu'il me faillait :)
0
AlainGraber Messages postés 160 Date d'inscription mercredi 11 janvier 2012 Statut Membre Dernière intervention 24 février 2021 13
30 juil. 2015 à 04:09
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 mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
Modifié par dugenou le 29/07/2015 à 07:09
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