繁体   English   中英

转换www。 https / http进入

[英]Convert www. https/http into <a tag in text PHP

我正在尝试将文本中的所有url转换为带有<a标签的链接,我这样做是为了解决我遇到的一个问题,当我用src输入任何标签时,它会变为<a标签,我也会给你一些例子我想说的是:我想将其转换为网址链接

Visit www.google.com or http://google.com <img src="http://mysite/image.jpg">

因此www.google.comhttp://google.com成为“ ',但问题<img src="http://mysite/image.jpg">也变成了

<img src="<a href="http://mysite/image.jpg"></a>">

我的php preg_replace代码是:

$find=array('`((?:https?|ftp)://\S+[[:alnum:]]/?)`si','`((?<!//)(www\.\S+[[:alnum:]]/?))`si', '`((?<!//)([a-z0-9_\-\+]+@[a-z0-9\-]+\.\S+[[:alnum:]]/?))`si');
$replace=array('<a href="$1" target="_blank" class="comment_textLink">$1</a>','<a href="http://$1"    target="_blank" class="comment_textLink">$1</a>' ,'<a href="mailto://$1" class="comment_textLink">$1</a>');
$string = preg_replace($find, $replace, $string);

我试图在将要转换的url链接之前添加空间,但是当我在文本的第一行放置一个链接时,这引起了问题。 我该如何表示感谢。

您可以在正则表达式的开头添加(^|\\s) ,以指定它是字符串的开头还是空格。

因此,它将仅查找位于字符串开头的链接,或者在将其替换为标签之前具有空格的链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM