正则表达式的问题

wingc 2003-05-17 05:55:27
小弟现在做的东西要用到正则表达式对html代码进行扫描和替换,但是遇到一个问题,就是诸如"<td>xxx</td>"这样单个的,可以对"<td>"和"</td>"识别出来并替换掉,但是对于多行"<td>xxx</td><td>xxx</td>"的,只能对第一个"<td>"和最后一个"</td>"替换掉,中间的保持原样不动,不知道哪位能给个好的方法。
我现在用的正则式如下
/(<([^>]+)>)((.|\s)+)(<\/(\S+)>)/g;
是不是哪里错了?
...全文
54 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2003-05-19
  • 打赏
  • 举报
回复
你先观察一下
$s = "<td>xxx</td><td>yyy</td>";
preg_match_all("/(<([^>]+)>)((.|\s)+)(<\/(\S+)>)/U",$s,$regs);
print_r($regs);

xuguoxin 2003-05-19
  • 打赏
  • 举报
回复
在正则式后加个/U就可以了
wingc 2003-05-19
  • 打赏
  • 举报
回复
谢谢大家
用“耶和华”的方法已经实现了
没法用“原来如此”的方法,因为我其实是客户端用javascript操作正则式,ie的正则式对象不支持/U
“唠叨”的方法我试过,但是这样的话标签内的内容就不能含有">"符号了
理解“耶和华”的正则式ing
N1rvana 2003-05-18
  • 打赏
  • 举报
回复
严重要求版主把baolong530(baolong530) 这个人ban了!
这两天在这里,只要看到是这个家伙发的贴,全是骂人,本来是大家交流学习的地方都被这种渣子给搞脏了!
sdpong 2003-05-18
  • 打赏
  • 举报
回复
搞错了......
$str44= preg_replace("/<td>\s*(.*?)\s*<\/td>/is","\\1",$str44);
sdpong 2003-05-18
  • 打赏
  • 举报
回复
$str44= preg_replace("/<td>\s*(.*?)\s*<\/td>/is","",$str44);
wingc 2003-05-17
  • 打赏
  • 举报
回复
那请聪明人你给个方法啊?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧