You are here

function _filter_recaptcha_mailhide in reCAPTCHA 8

Same name and namespace in other branches
  1. 7 recaptcha_mailhide/recaptcha_mailhide.module \_filter_recaptcha_mailhide()

Filter callbacks.

1 string reference to '_filter_recaptcha_mailhide'
recaptcha_mailhide_filter_info in recaptcha_mailhide/recaptcha_mailhide.module
Implements hook_filter_info().

File

recaptcha_mailhide/recaptcha_mailhide.module, line 51
Protects email addresses using the reCAPTCHA web service.

Code

function _filter_recaptcha_mailhide($text, $filter, $format) {
  global $_recaptcha_mailhide_public_key, $_recaptcha_mailhide_private_key, $_recaptcha_mailhide_nokey_warn;
  _recaptcha_mailhide_load_library();
  $_recaptcha_mailhide_public_key = $filter->settings['recaptcha_mailhide_public_key'];
  $_recaptcha_mailhide_private_key = $filter->settings['recaptcha_mailhide_private_key'];
  $text = ' ' . $text . ' ';
  $text = preg_replace_callback("!(<p>|<li>|<br\\s*/?>|[ \n\r\t\\(])([A-Za-z0-9._-]+@[A-Za-z0-9._+-]+\\.[A-Za-z]{2,4})([.,?]?)(?=(</p>|</li>|<br\\s*/?>|[ \n\r\t\\)]))!i", '_recaptcha_replace', $text);
  $text = drupal_substr($text, 1, -1);
  unset($_recaptcha_mailhide_public_key);
  unset($_recaptcha_mailhide_private_key);
  unset($_recaptcha_mailhide_nokey_warn);
  return $text;
}