preg_replace电子邮件链接中的文本

时间:2014-07-07 14:28:48

标签: php preg-replace

我有一个php字符串

echo $this->contact->email_to

这会输出以下HTML

<a href="mailto:me@mymail.com">me@mymail.com</a>

我希望它输出以下HTML

<a href="mailto:me@mymail.com">&#xf0e0;</a>

我一直在玩preg_replace但无处可去。我已经得到了以下代码但它根本不起作用。

echo preg_replace(array('/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i'), array('$1', '&#xf0e0;'), $this->contact->email_to);

我不是PHP专家所以我知道可能有更简单的方法来做到这一点,但我很难搞清楚。

1 个答案:

答案 0 :(得分:1)

这可能不是最好这样做的方式,但是使用带有HTML标记的preg_replace,特别是电子邮件总是很难对付。如果这对你有用,请告诉我:

echo preg_replace("/\>(.*)\@(.*)\</i", ">&#xf0e0;<", $this->contact->email_to);