请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 1059|回复: 6

[php] 正则替换中能否对子模式再次使用函数?? [复制链接]

ylw1230 楼主

海之極

银牌会员 手机认证 

帖子
3750
体力
2798
威望
1
居住地
广东省 广州市
发表于 2009-8-12 16:34:28 |显示全部楼层
做讯雷的加密
$str=preg_replace("/\[thunder\](.[^\[]*)\[\/thunder\]/i", "<a href=\"thunder://".base64_encode("AA\${1}ZZ")."\" target=\"_blank\">\${1}</a>", $str);

不知道这样的写发是否错了

我是想把正则出来的东西加密
西部数码顶级域名注册商39元抢注!

罗亮

超级版主 手机认证 

帖子
15893
体力
19481
威望
19
居住地
北京市 海淀区
发表于 2009-8-12 17:01:36 |显示全部楼层
如果地址中出现了一个 [ 你的正则就错了..

没有上下文..不好测试
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

ylw1230 楼主

海之極

银牌会员 手机认证 

帖子
3750
体力
2798
威望
1
居住地
广东省 广州市
发表于 2009-8-12 17:05:13 |显示全部楼层
银子啊我不加密是不会错的啊
我可以改成(.+?)都行


str="[thunder]ftp://3gset.cn:3gset@down.3gset.cn/谢谢你的温柔-S.H.E_飞轮海.mv.320x240.avi[/thunder]";
给你帮忙测试下

感谢了

使用道具 举报

罗亮

超级版主 手机认证 

帖子
15893
体力
19481
威望
19
居住地
北京市 海淀区
发表于 2009-8-12 17:15:21 |显示全部楼层
看来是不行.
\${1} 被当做字符串处理了
注释中是我的测试代码

  1. <?php
  2. $str="[thunder]ftp://3gset.cn:3gset@down.3gset.cn/谢谢你的温柔-S.H.E_飞轮海.mv.320x240.avi[/thunder]";
  3. //$str=preg_replace("/\[thunder\](.[^\[]*)\[\/thunder\]/i", base64_encode("\${1}"), $str);
  4. //print_r(base64_decode($str));

  5. preg_match("/\[thunder\](.[^\[]*)\[\/thunder\]/i", $str, $match);
  6. $str = '<a href="thunder://' . base64_encode($match[1]) . '" target="_blank">' . $match[1] . '</a>';
  7. echo $str;
  8. ?>
复制代码

[ 本帖最后由 wuleying 于 2009-8-12 17:17 编辑 ]

使用道具 举报

Enoch 

雨弓

钻石会员 手机认证 

帖子
540
体力
5090
威望
2
发表于 2009-8-12 17:21:50 |显示全部楼层
好像是用 e 修饰符

$str="[thunder]ftp://3gset.cn:3gset@down.3gset.cn/谢谢你的温柔-S.H.E_飞轮海.mv.320x240.avi[/thunder]";

$str = preg_replace("/\[thunder\](.[^\[]*)\[\/thunder\]/ie","'<a href=\"thunder://'.base64_encode('\\1').'\">\\1</a>'", $str);


echo htmlspecialchars($str);

[ 本帖最后由 Enoch 于 2009-8-12 17:30 编辑 ]

使用道具 举报

ylw1230 楼主

海之極

银牌会员 手机认证 

帖子
3750
体力
2798
威望
1
居住地
广东省 广州市
发表于 2009-8-12 23:33:58 |显示全部楼层
谢谢各位啦,我也是用着银子的办法处理的.明天到公司在测试下

使用道具 举报

罗亮

超级版主 手机认证 

帖子
15893
体力
19481
威望
19
居住地
北京市 海淀区
发表于 2009-8-13 07:28:01 |显示全部楼层
5#的方法不错.. 忘记正则修饰符了..-______-!!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-11 19:54 , Processed in 0.084531 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部