Bonjour à tous,
J'ai déjà eu l'occasion d'utiliser la fonction JS pour afficher son email en limitant les risques de spam, proposée ici par Julien Royer.
Elle est très sympa, mais ça demande d'avoir la main sur le code HTML, ce qui n'est pas toujours le cas. Pour un petit forum que je monte (punBB), mais aussi pour ma propre information, je me demandais s'il était possible de faire un script parsant du texte brut, texte brut répondant à un schéma donné, pour le remplacer par un code HTML donné. Je sais faire ça avec des regexp mais ne sais pas comment les utiliser en JS, ni si c'est possible de remplacer un bout de texte dans un document sans toucher au texte autour.
Concrètement, il faudrait transformer ceci:
en ceci:
Si JS désactivé, on retombe sur la version texte, qui reste relativement lisible et compréhensible même si moins pratique.
Techniquement, on fixe un format simple de chaine de caractères (<user> +arobase+ <host avec tld>). C'est moins protégé que ce que propose Julien, et pour un gros site ça n'ira probablement pas, mais pour un petit site ça devrait faire l'affaire.
Aussi, si c'est nécessaire, on peut partir d'un code ressemblant à ceci:
si ça facilite ou permet le parsing.
Voili voilou. Ça vous semble jouable? Ça existe déjà quelque part en belle petite fonction bien propre comme il faut?
Merci d'avance pour vos lumières.
Modifié par Florent V. (23 Jul 2007 - 15:59)
J'ai déjà eu l'occasion d'utiliser la fonction JS pour afficher son email en limitant les risques de spam, proposée ici par Julien Royer.
Elle est très sympa, mais ça demande d'avoir la main sur le code HTML, ce qui n'est pas toujours le cas. Pour un petit forum que je monte (punBB), mais aussi pour ma propre information, je me demandais s'il était possible de faire un script parsant du texte brut, texte brut répondant à un schéma donné, pour le remplacer par un code HTML donné. Je sais faire ça avec des regexp mais ne sais pas comment les utiliser en JS, ni si c'est possible de remplacer un bout de texte dans un document sans toucher au texte autour.
Concrètement, il faudrait transformer ceci:
Pour m'écrire: user +arobase+ host.com
en ceci:
Pour m'écrire: <a href="mailto:moi@site.com">user@host.com</a>
Si JS désactivé, on retombe sur la version texte, qui reste relativement lisible et compréhensible même si moins pratique.
Techniquement, on fixe un format simple de chaine de caractères (<user> +arobase+ <host avec tld>). C'est moins protégé que ce que propose Julien, et pour un gros site ça n'ira probablement pas, mais pour un petit site ça devrait faire l'affaire.
Aussi, si c'est nécessaire, on peut partir d'un code ressemblant à ceci:
Pour m'écrire: <em>user +arobase+ host.com</em>
si ça facilite ou permet le parsing.
Voili voilou. Ça vous semble jouable? Ça existe déjà quelque part en belle petite fonction bien propre comme il faut?
Merci d'avance pour vos lumières.
Modifié par Florent V. (23 Jul 2007 - 15:59)