oracle 正则表达式替换特定标签及里面内容

esadcl 2016-12-07 03:57:59
现oracle数据库某字段里有带html标签的字符串,现在要把带style="display: none"的标签以及里面的内容替换为空字符,求大神指教,有的标签可能会嵌套带style="display: none"属性。字符串如下
字符串A:<p> 请问请问请问。<span _fck_bookmark="1" style="display: none"> 方且为<span _fck_bookmark="1" style="display: none"> 方且为案方案中方</span>案方案中方</span>方案中且为作阿萨德</p>
替换后应该为:
字符串B:<p> 请问请问请问。<span _fck_bookmark="1" style="display: none"> 方且为案方案中方</span>方案中且为作阿萨德</p>

替换后应为: 请问请问请问。方案中且为作阿萨德

请问大神正则式应该怎么写?可以多次替换现将display的去掉,在替换标签
...全文
942 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
esadcl 2016-12-07
  • 打赏
  • 举报
回复
引用 3 楼 sych888 的回复:
你想达到什么结果? 你最好把内容和结果列举出来 最好能提供INSERT语句
------------------------------------------------------------------------------------------------------------------------------------------- 你好 我具体的需求是把: <span _fck_bookmark="1" style="display: none">内容内容内容</span>这个标签及标签中内容替换为空 并当有多层嵌套时 如: <span _fck_bookmark="1" style="display: none"><span _fck_bookmark="1" style="display: none">内容内容内容</span>内容内容内容</span>.......时一并替换 之前你提供的方法能够实现,但是也会把内容中的<span>内容</span>给替换为空。 我想要实现 只替换<span _fck_bookmark="1" style="display: none">标签及标签中的内容 如果<span>标签不带 style=display属性时不替换
sych888 2016-12-07
  • 打赏
  • 举报
回复
你想达到什么结果? 你最好把内容和结果列举出来 最好能提供INSERT语句
esadcl 2016-12-07
  • 打赏
  • 举报
回复
引用 1 楼 sych888 的回复:
SQL> select regexp_replace(regexp_replace('<p> 请问请问请问。<span _fck_bookmark="1" style="display: none">方且为<span _fck_bookmark="1" style="display: none">方且为案方案中方</span>案方案中方</span>方案中且为作阿萨德</p>','<span _fck_bookmark="1" style="display: none">.*</span>',''),'<.{1,2}>','') 2 from dual; REGEXP_REPLACE(REGEXP_REPLACE('<P --------------------------------- 请问请问请问。方案中且为作阿萨德
你好,这个还有点问题 1、如果带display的标签里还有其他属性怎办; 2、如果有其他span标签但是没有display属性的也会被去掉。 <p>信用。<span _fck_bookmark="1" style="display: none">    方案<span>123<span _fck_bookmark="1" style="display: none">    方案<span>123<span _fck_bookmark="1" style="display: none">    方案<span>123123</span>方案方  方</span>123</span>方案方  方</span>123</span>方案方  方</span>方案<span>中其1122</span>它要素:综时作相应调整。</p>
sych888 2016-12-07
  • 打赏
  • 举报
回复
SQL> select regexp_replace(regexp_replace('<p> 请问请问请问。<span _fck_bookmark="1" style="display: none">方且为<span _fck_bookmark="1" style="display: none">方且为案方案中方</span>案方案中方</span>方案中且为作阿萨德</p>','<span _fck_bookmark="1" style="display: none">.*</span>',''),'<.{1,2}>','') 2 from dual; REGEXP_REPLACE(REGEXP_REPLACE('<P --------------------------------- 请问请问请问。方案中且为作阿萨德

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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