antispambot — функция для защиты email адресов на блоге от спам-ботов

Функция преобразует рандомные символы в емаил в HTML-сущности, тем самым делая его невидимым для ботов.

Что будет видеть бот:

true@truemisha.ru

Что будет видеть человек:

true@truemisha.ru

Мне кажется этот способ уж получше, чем вставлять вместо email картинку :)

Использование

<?php antispambot( $email, $mailto ) ?>

Параметры

$email
(строка) (обязательный параметр) адрес email

$mailto
(целое число) включает более хитрое кодирование. Если указать 1, то вывести email на странице в читаемом виде уже не удастся, зато можно с успехом использовать в ссылках типа <a href="mailto:
по умолчанию — 0

<a href="mailto:<?php echo antispambot('true@truemisha.ru', 1) ?>">
	<?php echo antispambot('true@truemisha.ru') ?>
</a>

Вот что получится:

слева - как будет выглядеть ссылка на сайте, справа - исходный код

Возвращаемые значения

(строка) закодированный email адрес.
Каждый раз возвращает разные значения, так как преобразует случайно выбранные символы из email.

Использование внутри содержимого поста при помощи шорткода

Сначала вставим это в functions.php:

function true_email_shortcode( $atts, $content ){
	return '<a href="mailto:'.antispambot($content, 1).'">'.antispambot($content).'</a>';
}
 
add_shortcode( 'email', 'true_email_shortcode' );

Затем, при написании поста можно использовать этот шорткод:

[email]true@truemisha.ru[/email]

P.S. До этого я никогда не защищал свои email адреса подобным способом, использовал их в обычном виде на сайтах, но спама так и не заметил (возможно это Gmail так хорошо фильтрует, я хз).

P.P.S. Основная причина заспамленности почтового ящика на мой взгляд — это указывать его при регистрации на сомнительных сайтах.

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Комментарии закрыты.
  • Миша: Привет ещё раз, не поверишь, реально не сталкивался с этим вопросом. По теории можно сказать следующее: во-первых,...

  • Миша: Привет, вообще без проблем, делаешь всё через require(), require_once() - выбирай любую, какая больше нравится.

  • Виталий Моргунов: Привет! Не могу разобаться, как я могу контролировать порядок подключения стилей. В моем случае мне нужно чтобы стили...

  • Миша: Спасибо!

  • w0rmak: Это было просто. Нашел код в интернете. Добавьте и себе ymaps.load(function () { var input = document.getElem...