求正则替换

aiiiq 2006-12-08 02:17:26
求正则替换

字符串:<font color=red>test1</font>
替换为:<font color=#ffffff>test1</font>

字符串:<font color=red>test1</font><b>test2</b>
替换为:<font color=#ffffff>test1</font><font color=#ffffff>test2</font>

...全文
207 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
muxrwc 2006-12-08
  • 打赏
  • 举报
回复
这个好象不太好的说。。
如果先匹配所有开头结尾(不支持同类欠套比如<a><a></a></a>)的话
那么<(?!\/)([\S]+?)(\s[^>]+)?>([\S\s]+?)<\/\1>
aiiiq 2006-12-08
  • 打赏
  • 举报
回复
谢谢
str.replace(/<.+?>(.+?)<\/.+?>/ig,'<font color=green>$1</font>')
dh20156 2006-12-08
  • 打赏
  • 举报
回复
UP!
muxrwc 2006-12-08
  • 打赏
  • 举报
回复
<script language=javascript>
var str="<font color=red>test1</font><b>test2</b><a href=#>test3</a>"
re=/(color=)(red)/gi;
str=str.replace(re, "$1#ffffff");
str=str.replace(/<(b|a)[^>]*>([\S\s]+?)<\/\1>/gi,"<font color=#ffffff>$2<\/font>");
alert(str)
</script>
我那个是要加到hbhbhbhbhb1021写的后面的。。。
直接改了下,这个简单。
aiiiq 2006-12-08
  • 打赏
  • 举报
回复
不好用啊?
muxrwc 2006-12-08
  • 打赏
  • 举报
回复
str=str.replace(/<a[^>]*>([\s\S]+?)<\/a>/i,"<font color=#ffffff>$1<\/font>");
飘过。。。
aiiiq 2006-12-08
  • 打赏
  • 举报
回复
还有一种情况,请您帮忙

字符串:<font color=red>test1</font><b>test2</b><a href=#>test3</a>
替换为:<font color=#ffffff>test1</font><font color=#ffffff>test2</font><font color=#ffffff>test3</font>
hbhbhbhbhb1021 2006-12-08
  • 打赏
  • 举报
回复
<script language=javascript>
var str="<font color=red>test1</font><b>test2</b>"
re=/(color=)(red)/g
str=str.replace(re,"$1#ffffff")
str=str.replace(/(<b.*?>)(.*?)<\/b>/i,"<font color=#ffffff>$2<\/font>")
alert(str)
</script>
hbhbhbhbhb1021 2006-12-08
  • 打赏
  • 举报
回复
<script language=javascript>
var str="<font color=red>test1</font>"
re=/(color=)(red)/g
str=str.replace(re,"$1#ffffff")
alert(str)
</script>

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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