将文本中的链接更改为不更改html标记的链接


Change links in text to links without changing html tags

我写了一些代码,将文本链接更改为链接,但它也将我的img标签的src属性更改为类似的链接

<img src="some url"/><br>
http://google.com<br>
http://beezfeed.cu.ma<br>

这里我的代码改为

<img src="<a href="some url">some url</a>"/><br>
<a href="http://google.com">http://google.com</a><br>
<a href="http://beezfeed.cu.ma">http://beezfeed.cu.ma</a><br>

我希望它离开img标签,只使用文本来做这件事。这是我的代码

function make_links_clickable($text){
    return preg_replace('!(((f|ht)tp(s)?://)[-a-zA-Zа-яА-Я()0-9@:%_+.~#? &;//=]+)!i', '<a href="$1">$1</a>', $text);
 }

尝试explode(),然后剥离html标签以避免img标签

$str = '<img src="some url"/><br>
http://google.com<br>
http://beezfeed.cu.ma<br>';
$arr = explode('<br>', $str);
foreach($arr as $a){
    if(!empty($a)){
        $a = strip_tags($a);
        echo '<a href="'.$a.'">'.$a.'</a>';
    }
}
相关文章: