4
$title =  $_POST['title'];

$post = stripslashes($_POST['TextArea']);

$link = preg_replace('"(http://www\S+)"','<a href="$1">$1</a>', $post);

echo $link;

提交我的表单后,上面的脚本替换了 textarea 中的所有链接,图像的结果将被破坏。

有没有办法替换链接而不是图像?

虽然 url 工作完美,但浏览器中图像的结果是

<img src="<a href="http://...myimage.jpg"">http://.../myimage.jpg"</a> height="150" width="150">

在此处输入图像描述 在此处输入图像描述

谢谢

4

2 回答 2

4
preg_replace('"(?<!src=[\"\'])(http://www\S+)"','<a href="$1">$1</a>', $text)

这只会转换http://www前面没有src="or的链接src='

于 2013-01-30T21:36:46.730 回答
0
preg_replace('/(?<!src=[\"\'])(http(s)?:\/\/(www\.)?[\/a-zA-Z0-9%\?\.\-]*)(?=$|<|\s)/','<a href="$1">$1</a>', $text);

这是正确的方法,因为以前的解决方案在必要时没有完成 url

于 2013-10-16T22:01:09.527 回答