排除匹配词

时间:2019-05-24 13:38:10

标签: php regex preg-replace

我使用以下代码使电子邮件地址可点击:

function makeemail($str) {

   $str = preg_replace('/([\!~#$%&=?^*\/_\.\+0-9a-zæøå-]+)@(([0-9a-zæøå-]+\.)+[a-z]{2,12})/i', '<a href="mailto:$1@$2" title="">$1@$2</a>', $str);

   return trim($str);

}

该怎么办,它会忽略其中包含“ http://”和“ https://”的文本?(或简单地说,可能只是“ http”)< / p>

某些http服务器url的地址中可以带有@,而我正在处理其他函数中的http url。

我有点正则表达式。我尝试添加带有和不带有括号的?!http:\/\/?!https?:\/\/,但是它不起作用,而且超出了我的范围/确切地放置它的范围。


emailaddress@example.com-它应该变成<a href="mailto:email@address.com" title="">email@address.com</a>(非常完美)

http://userid:password@example.com:8080/-应该忽略它,因为它包含http(s)://

0 个答案:

没有答案