$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">
谢谢
答案 0 :(得分:4)
preg_replace('"(?<!src=[\"\'])(http://www\S+)"','<a href="$1">$1</a>', $text)
这只会转换http://www
或src="
之前没有的src='
个链接。
答案 1 :(得分:0)
preg_replace('/(?<!src=[\"\'])(http(s)?:\/\/(www\.)?[\/a-zA-Z0-9%\?\.\-]*)(?=$|<|\s)/','<a href="$1">$1</a>', $text);
这是正确的方法,因为以前的解决方案在必要时没有完成网址