cmsphp 发表于 2011-4-25 14:11:25

求个正则

<a href="http://www.masalili.com.cn/">http://www.masalili.com.cn/</a>
编程下面这个
<a href="/redir/index?redir=http://www.masalili.com.cn/">http://www.masalili.com.cn/</a>

意思是在原来a href里的连接前加上/redir/index?redir= 这个字符。

cmsphp 发表于 2011-4-25 14:19:27

$forum_text = ereg_replace("(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)", "/redir/index?redir=\\1\\2" , $forum_text);
这个正则出来的结果是这样的??

<a href="/redir/index?redir=http://www.masalili.com.cn/">/redir/index?redir=http://www.masalili.com.cn/<;/a>

不符合要求啊,在线等,正确答案。

jeongee 发表于 2011-4-25 19:52:17

直接str_replace好了呗
把href="换成href="/redir/index?redir=,别想太复杂

loadinger 发表于 2011-4-27 17:10:26

其实str_replace是最直接最高效的。
实在要弄。。
echo('<xmp>'.preg_replace("/<a href=\"(.*)\">.*<\/a>/","<a href=\"/redir/index?redir=\\1\">\\1</a>",$str).'</xmp>');
页: [1]
查看完整版本: 求个正则