' + unescape(string) + '');"; // encode the JavaScript code: $encoded = uri_escape($code); // generate stuff to go inside tags: if ($string == $email) { $noscript = "(e-mail address hidden)"; } else { $noscript = $string; } // print the JavaScript which prints the JavaScript which prints the HTML: return "" . ""; return true; } /** * this scans a chunk of text and replaces all e-mail addresses with smailto() calls */ function mailto_text($text) { preg_match_all("/([A-Za-z0-9\.\_\-]+\@{1}[A-Za-z0-9\.\_\-]+)/", $text, $addresses); foreach ($addresses[0] as $address) { $text = str_replace($address, smailto($address), $text); } return $text; } /** * this scans a chunk of HTML and replaces all e-mail addresses with smailto() calls */ function mailto_html($html) { preg_match_all("/[\s\r\n\t]*(.+?)[\s\r\n\t]*<\/a>/si", $html, $addresses); if (count($addresses[0]) > 0) { for ($i = 0 ; $i < count($addresses[0]) ; $i++) { $addresses[2][$i] = preg_replace('/[\r\n]+/', ' ', $addresses[2][$i]); $html = str_replace($addresses[0][$i], smailto($addresses[1][$i], $addresses[2][$i]), $html); } } return $html; } /** * an output buffering handler, remember, $buffer is read-only: */ function ob_mailto($buffer) { return mailto_html($buffer); } ?>