用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2455|回复: 3
收起左侧

求个正则

[复制链接]
发表于 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= 这个字符。
 楼主| 发表于 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>

不符合要求啊,在线等,正确答案。
发表于 2011-4-25 19:52:17 | 显示全部楼层
直接str_replace好了呗
把href="换成href="/redir/index?redir=,别想太复杂
发表于 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>');

本版积分规则