A Craft CMS plugin that adds a Twig filter to obfuscate emails or any other content using Hivelogic Enkoder.
This plugin uses Standalone PHPEnkoder.
The following Twig snippet —
{% apply enkode_emails %}
Reach us on me@example.com or
<a href="mailto:anotherme@example.com">here</a>.
{% endapply %}
will result in HTML where both the plain text email, and the mailto:
anchor tag are recognised as emails and obfuscated. It will result in something
like this (re-formatted for readability):
Reach us on
<span id="enkoder_1_2033799978">email hidden; JavaScript is required</span>
<script id="script_enkoder_1_2033799978" type="text/javascript"> /* <!-- */
function hivelogic_enkoder_1_2033799978() { … } hivelogic_enkoder_1_2033799978();
/* --> */ </script>
or
<span id="enkoder_0_1540754146">email hidden; JavaScript is required</span>
<script id="script_enkoder_0_1540754146" type="text/javascript"> /* <!-- */
function hivelogic_enkoder_0_1540754146() { … } hivelogic_enkoder_0_1540754146();
/* --> */ </script>.
In addition to the enkode_emails
filter, Obfuscator comes with a bunch of additional
filters for more fine grained targeting of what to obfuscate.
{{ 'Reach us on me@example.com or <a href="mailto:anotherme@example.com">here</a>.'|enkode_emails }}
{{ '<a href="mailto:me@example.com">Contact Us</a>'|enkode_mailtos }}
{{ 'Contact us at me@example.com.'|enkode_plaintext_emails }}
{{ 'I don’t want spam bots to read this.'|enkode }}
{{ 'If you don’t have JavaScript, you’ll see a helpful message.'|enkode('JavaScript is required to view this message.') }}
You can install this plugin from the Plugin Store or with Composer.
Go to the Plugin Store in your project’s Control Panel and search for “Obfuscator”. Then click on the “Install” button in its modal window.
Open your terminal and run the following commands:
# go to the project directory
cd /path/to/project
# tell composer to use the plugin
composer require miranj/craft-obfuscator
# tell Craft to install the plugin
./craft plugin/install obfuscator
This plugin requires Craft CMS 3, 4, or 5. The Craft 2 version is availabe in the v0
branch.
Brought to you by Miranj