免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1103 | 回复: 3
打印 上一主题 下一主题

正则表达式问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-12 18:01 |只看该作者 |倒序浏览
如下面程序,我想把一段字符串中含[MG][/MG]的内容进行替换,比如
aaaaa替换为
<img src=192.168.1.1/images/ad.gif>;
字符串中可能有多个[MG][/MG]
<?php
$S="aaaa[MG]http://192.168.1.1/images/ad.gif[/MG]aaaa[IMG]http://192.168.1.1/images/ad.gif[/MG]";

while(ereg("\[MG\](.+)\[/IMG\]",$S,$regs)){
$found=$regs[1];
echo $found;
echo "<br>;";
$S=ereg_replace("\[MG\]$found\[/IMG\]","<br>;<img src='$found'>;<br>;",$S);
}
?>;
为什么不行啊?好像系统把S字符串第一个当成符合条件的了
<img src=http://192.168.1.1/images/ad.gif[/IMG]aaaa[IMG]http://192.168.1.2/images/ad.gif>;

论坛徽章:
0
2 [报告]
发表于 2005-07-12 20:07 |只看该作者

正则表达式问题?

  1. while(ereg("\[MG\]([^\[]+)\[/IMG\]",$S,$regs)){
复制代码

论坛徽章:
0
3 [报告]
发表于 2005-07-12 20:43 |只看该作者

正则表达式问题?

  1. <?php
  2. $S="aaaa[IMG]http://192.168.2.1/images/ad.gif[/IMG]aaaa[IMG]http://192.168.1.1/images/ad.gif[/IMG]";

  3. if($S = preg_replace("/\[IMG\]([^[]+)\[\/IMG\]/","<br>;<img src=\"\\1\">;<br>;", $S)){
  4. echo $S;
  5. }
  6. ?>;
复制代码

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
4 [报告]
发表于 2005-07-12 22:40 |只看该作者

正则表达式问题?

$strResult = preg_replace('/\\[IMG\\](.+?)\\[\/IMG\\]/sim', '<img src=$1>;', $strSource);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP