此方法是使用html的转义字符,可以将email、url转义,增加网页采集器的采集难度。一种是 &#{十进制};,一种是 %{十六进制}

代码实现

<?php
//推荐
echo join('',array_map(function($v){return '&#' .ord($v) . ';';}, str_split('mailto:gene@genscript.com'))).PHP_EOL;
//%号的方式,需要额外的mailto:
echo join('',array_map(function($v){return '%' .dechex(ord($v));}, str_split('gene@genscript.com'))).PHP_EOL;
//正则方式
echo preg_replace_callback("/(\S{1})/i", function ($matches){return "&#".ord($matches[0]).";";}, 'mailto:gene@genscript.com') . PHP_EOL;