问题描述:
我要全部替换 ”的mailto:与普通的电子邮件中的HTML“ 链接保换的<a href =“电子邮件地址:只用电子邮件aadress
In: text .... <a href="mailto:[email protected]">not needed</a> text
Out: text .... [email protected] text
我这样做:
$str = preg_replace("/\<a.+href=\"mailto:(.*)\".+\<\/a\>/", "$1", $str);
但如果在字符串或HTML内多个电子邮件“一”的标签
In: <a href="mailto:[email protected]">not needed</a><a href="mailto:[email protected]"><font size="3">[email protected]</font></a>
Out: [email protected]">
答
让你的对手失败非贪婪加?
到量词+
和*
为:
$str = preg_replace("/\<a.+?href=\"mailto:(.*?)\".+?\<\/a\>/", "$1", $str);
你也不必逃避<
和>
和因为有一些/
在模式它能够更好地使用不同的分隔符,因为你没有做任何变量图案内插值,也没有必要这样就可以避免逃逸"
格局内括在"
:
$str = preg_replace('#<a.+?href="mailto:(.*?)".+?</a>#', "$1", $str);
谢谢,不贪不匹配的工作做好感谢您的逃脱信息。 – Lauri 2010-03-27 15:57:23