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Просто код
  Комментарии закрыты.