rot13) { case true : // with ROT13 encryption enabled $parsed = preg_replace("/[\"\']mailto:([A-Za-z0-9._%-]+)\@([A-Za-z0-9._%-]+)\.([A-Za-z.]{2,4})[\"\'\?]/e", "'\"'.$this->folder.'/'.str_rot13('\\1').'+'.str_rot13('\\2').'+'.str_rot13('\\3').'\" rel=\"nofollow\" title=\"$this->tooltip_js_off\"'", $output); break; default : // with ROT13 encryption disabled $parsed = preg_replace("/\"mailto:([A-Za-z0-9._%-]+)\@([A-Za-z0-9._%-]+)\.([A-Za-z.]{2,4})\"/", "\"{$this->folder}/\\1+\\2+\\3\" rel=\"nofollow\"", $output); break; }; $parsed = preg_replace("/([A-Za-z0-9._%-]+)\@/e", "substr('\\1',0,-3).'...@'", $parsed); // To be sure, truncate e-mail addresses that are *not* linked (bill.ga...@microsoft.com) $close_head = array("", ""); return str_replace($close_head, $this->dropJS() . "\n", $parsed); } function dropJS() { // Prepares reference to external JavaScript (required for 'decoding' email addresses) return "\n"; } function setTooltipJS($tooltip) { $this->tooltip_js_on = $tooltip; } function setTooltipNoJS($tooltip) { $this->tooltip_js_off = $tooltip; } function setFolder($folder) { $this->folder = $folder; } } ?>