yab_email -- Email obfuscate/defuscate as textpattern plugin

yab_email is a tiny Textpattern CMS-Plugin for obfuscating and defuscating email adresses to prevent harvesting email adresses.

This plugin will use jQuery and is based on the jQuery plugin Email Defuscator.

Download

yab_email_v0.7.txt

yab_email plugin help

A simple email obfuscator/defuscator (jQuery based)

Version: 0.7

Plugin requirements

yab_email’s minimum requirements:

  • Textpattern 4.x
  • jQuery 1.3.x

Tags

yab_email

Place this in your site to hide your email address from harvesters and bots.

email: a valid email address
Default: name@example.com
An email address, you want to be obfuscated.

class: class name
Default: yab-email-link
A class name for generated <span /> or <a /> element.

at: word between parenthesis
Default: at
A text string, that will be in parenthesis in obfuscated email.

link: boolean
Default: 1
Generate a link or show email as span element.

text: a link text
Default: not set
A text string, that will be the link text. Overwrite a link="0".

set_js: boolean
Default: 1
Generate Javascript for this very tag.

yab_email_javascript

If you have more email addresses you want to be obfuscated or your jQuery inlcude is at the bottom of your site, you can place this tag after the jQuery include.

class: class name
Default: yab-email-link
A class name for generated <span /> or <a /> element. Has to be the same as in <txp:yab_email />

link: boolean
Default: 1
Generate a link or show as span element.

Examples

Example 1

Example with a jQuery inlcude in the head and only one address to obfuscate.

<!doctype html>
<html>
<head>
	<meta charset="utf-8" />
	<title>Your tilte</title>
	<link rel="stylesheet" href="/path/to/your/stylesheet.css" />
	<script src="/path/to/your/jQuery.js"></script>
</head>
<body>

<p><txp:yab_email email="contact@example.com" /></p>

</body>
</html>
Example 2

Example with a jQuery inlcude at the bottom and probably more address to obfuscate.

<!doctype html>
<html>
<head>
	<meta charset="utf-8" />
	<title>Your tilte</title>
	<link rel="stylesheet" href="/path/to/your/stylesheet.css" />
</head>
<body>

<p><txp:yab_email email="contact@example.com" set_js="0" /></p>
<p><txp:yab_email email="ceo@example.com" set_js="0"  /></p>

</body>
<script src="/path/to/your/jQuery.js"></script>
<txp:yab_email_javascript />
</html>

Licence

This plugin is released under the GNU General Public License Version 2 and above

Author contact

Changelog

  • 2009-09-20 v0.1
    • initial release
  • 2009-09-20 v0.2
    • bugfix: releated DOM load
  • 2009-09-20 v0.3
    • feature: added class attribute
    • bugfix: style in plugin help
  • 2009-09-21 v0.4
    • bugfix: fixed XHTML validation errors
    • feature: added new attribute link
  • 2012-09-04 v0.5
    • bugfix: withespaces in href are now correctly escaped
    • bugfix: removed redundant type attributes in script tag
    • bugfix: plugin help rewritten and extended (plugin help guidelines)
  • 2012-09-24 v0.6
    • bugfix: does now work with jQuery >= v1.8.0
  • 2017-02-10 v0.7
    • bugfix: TXP 4.6-ready

Kommentar

  1. # - Su-Mu schrieb am 25. September 2009, 08:17:

    Danke für deine Hilfe, vielleicht solltest du diesen jQuery-Schnipsel für den Head-Bereich noch oben in deine Anleitung einfügen? Ist ja nicht jeder so ein Coder ;-)

  2. # - trenc schrieb am 25. September 2009, 10:13:

    Hi Sumu,

    hast Du bestimmt übersehen, aber der Hinweis steht ganz oben in der Plugin-Hilfe. :)

  3. # - Su-Mu schrieb am 25. September 2009, 12:05:

    nein, habe ich nicht übersehen! nicht verstanden!

    This plugin requires the jQuery Javascript-Framework is called in the site.

    Damit konnte ich leider nichts anfangen …

  4. # - trenc schrieb am 25. September 2009, 16:40:

    Ah ok.

    Ich ändere die Hilfe beim nächsten Update.

  5. # - Sev schrieb am 20. April 2010, 11:35:

    Schönes txp-Plugin!

    Ich habe nur eine Frage zum “text” Parameter.

    Der Text des Links soll eine Grafik sein, jedoch zerschießt es den Output, wenn HTML tags innerhalb des Textes verwendet werden.

    Beispiels-Output:

    <a href=“mailto:name@example.com”> <img class=“first” src=”/img/icon_mail.gif” alt=“E-mail”>
    </a>

    Any ideas?

    Viele Grüße!

  6. # - trenc schrieb am 21. April 2010, 10:40:

    Hi Sev,

    ja das funktioniert leider nicht. Allerdings könntest Du das mittels CSS machen.

    <txp:yab_email email="mailto:name@example.com" text="email" class="icon-mail" />
    

    und im CSS folgendermaßen:

    a.icon-mail {
    	display: block;
    	width: XXpx;
    	height: XXpx;
    	background: transparent url(/img/icon_mail.gif) no-repeat 0 0;
    	text-indent: -3000em
    }
    

    Natürlich die Höhe und Weite an die des Icons anpassen.

  7. # - eliph schrieb am 24. Januar 2012, 18:37:

    Nützliches Plugin, aber der HTML5-Validator (W3C) meldet einen Fehler. Nach einer kleinen Verbesserung:

    ( '.$at.' ) durch ('.$at.') ersetzen 
    

    ist es wieder gut.

  8. # - trenc schrieb am 25. Januar 2012, 15:57:

    Danke für die Info.

    Ja die Leerzeichen sind nicht als %20 escaped. Allerdings wird bei mir kein Validierungsfehhler angezeigt.

  9. # - eliph schrieb am 25. Januar 2012, 18:46:

    Na so was. Vielleicht verwenden wir einen unterschiedlichen Validator. Der W3C Validator jedenfalls hat ein Problem mit dem Plugin in der unveränderten Version. Zum Test habe ich es noch einmal installiert.

  10. # - trenc schrieb am 2. Februar 2012, 19:14:

    Wirklich sehr skuril. Meine eigenes Impressum wird als valide angezeigt, obwohl da auch die Leerzeichen nicht encoded sind:
    Test!





Textile-Hilfe