Je ne sais pas vous mais sur mon intranet, je suis obligé de montrer et diffuser des adresses email. C'est comme ca.
Alors certes snous n'avons pas de gros bot qui aspire les mails des différentes pages web, mais quand même, je reste trèsn mal à l'aise lorsqu'on me demande de spécifier une adresse email, et même pire, y mettre un mailto: !
Mais commeje suis asseez curierux, je lis des choses par ci par là, et je suis tombé sur un forum sur un post d'une personne qui avait le même soucis que moi. Il a résolu le soucis super simplement, en découpant le mail avec une premiere sous chaine a gauche de l'arobase, une deuxieme sous chaine à la droite de l'arobase. Mais au lieu de concaténer 3 soucaine (les deux spéciiées ci-avant avec le symbole @), le developpeur co,ncatene ce qui est avant l'abobase, ce qui est apres l'arobase et spécifie dans le CSS avec un :before, content:"@"
Comme cette astuce est particulièrement malinse, j'en ai fait un plugin pour mon boulot et je vous le partage.
antispam.xml
<?xml version="1.0" encoding="utf-8"?>
<extension version="1.0" type="plugin" group="content" method="upgrade">
<name>Antispam simple</name>
<author>Sébastien LHUILLIER</author>
<creationDate>May 2015</creationDate>
<copyright></copyright>
<license></license>
<authorEmail>Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.</authorEmail>
<authorUrl>www.sebastien-lhuillier.com</authorUrl>
<version>1.0</version>
<description>
antispam en détectant ce qui est avant et apres l'arobase, découpant la chaine et utilisaton CSS pour @
</description>
<files>
<filename>antispam.xml</filename>
<filename>style.css</filename>
<filename plugin="antispam">antispam.php</filename>
</files>
<config>
</config>
</extension>
antispam.php
<?php
defined('_JEXEC') or die('Access deny');
class plgContentAntispam extends JPlugin
{
function onContentPrepare($content, $article, $params, $limit){
$document = JFactory::getDocument();
$document->addStyleSheet('plugins/content/antispam/style.css');
$mail = explode('@',$matches[0][0]);
$article->text = str_replace($matches[0][0],'<span>'.$mail[0]."<span class=\"arobase\"></span><span>".$mail[1]."</span>",$article->text);
}
}
?>