现oracle数据库某字段里有带html标签的字符串,现在要把带style="display: none"的标签以及里面的内容替换为空字符,求大神指教,有的标签可能会嵌套带style="display: none"属性。字符串如下
字符串A:<p> 请问请问请问。<span _fck_book="1" style="display: none">&nbsp方且为<span _fck_book="1" style="display: none">&nbsp方且为案方案中方</span>案方案中方</span>方案中且为作阿萨德</p>
替换后应该为:
字符串B:<p> 请问请问请问。<span _fck_book="1" style="display: none">&nbsp方且为案方案中方</span>方案中且为作阿萨德</p>替换后应为: 请问请问请问。方案中且为作阿萨德 请问大神正则式应该怎么写?可以多次替换现将display的去掉,在替换标签

解决方案 »

  1.   

    SQL> select regexp_replace(regexp_replace('<p> 请问请问请问。<span _fck_book="1" style="display: none">方且为<span _fck_book="1" style="display: none">方且为案方案中方</span>案方案中方</span>方案中且为作阿萨德</p>','<span _fck_book="1" style="display: none">.*</span>',''),'<.{1,2}>','')
      2    from dual;REGEXP_REPLACE(REGEXP_REPLACE('<P
    ---------------------------------
     请问请问请问。方案中且为作阿萨德
      

  2.   

    你好,这个还有点问题
    1、如果带display的标签里还有其他属性怎办;
    2、如果有其他span标签但是没有display属性的也会被去掉。
    <p>信用。<span _fck_book="1" style="display: none">&nbsp;&nbsp; &nbsp;方案<span>123<span _fck_book="1" style="display: none">&nbsp;&nbsp; &nbsp;方案<span>123<span _fck_book="1" style="display: none">&nbsp;&nbsp; &nbsp;方案<span>123123</span>方案方&nbsp; 方</span>123</span>方案方&nbsp; 方</span>123</span>方案方&nbsp; 方</span>方案<span>中其1122</span>它要素:综时作相应调整。</p>    
      

  3.   

    你想达到什么结果?
    你最好把内容和结果列举出来
    最好能提供INSERT语句
      

  4.   

    -------------------------------------------------------------------------------------------------------------------------------------------
    你好
    我具体的需求是把:
    <span _fck_book="1" style="display: none">内容内容内容</span>这个标签及标签中内容替换为空
    并当有多层嵌套时 如:
    <span _fck_book="1" style="display: none"><span _fck_book="1" style="display: none">内容内容内容</span>内容内容内容</span>.......时一并替换
    之前你提供的方法能够实现,但是也会把内容中的<span>内容</span>给替换为空。
    我想要实现 只替换<span _fck_book="1" style="display: none">标签及标签中的内容
    如果<span>标签不带 style=display属性时不替换