За последние 24 часа нас посетили 22648 программистов и 1256 роботов. Сейчас ищут 748 программистов ...

Убрать обертку

Тема в разделе "Регулярные выражения", создана пользователем marlin, 12 сен 2020.

  1. marlin

    marlin Новичок

    С нами с:
    19 июн 2019
    Сообщения:
    61
    Симпатии:
    3
    Привет.
    У меня есть такой html:
    Код (Text):
    1. $x = '
    2.  
    3. 1111111
    4. <w:p >22222
    5.    что то до00000
    6.         <w:p w:rsidR="00E107EB" w:rsidRPr="00BB1EBA" w:rsidRDefault="00052143" w:rsidP="001C4FA8">
    7.             <w:pPr>
    8.                 <w:spacing w:line="360" w:lineRule="auto"/>
    9.                 <w:rPr>
    10.                     <w:b/>
    11.                 </w:rPr>
    12.             </w:pPr>
    13.             <w:r w:rsidRPr="00BB1EBA">
    14.                 <w:rPr>
    15.                     <w:rStyle w:val="a5"/>
    16.                     <w:b w:val="0"/>
    17.                 </w:rPr>
    18.                 <w:t>
    19.                     <w:tbl>
    20.                         <w:tblPr>
    21.                           внутренности000
    22.                         </w:tr>
    23.                     </w:tbl>
    24.                 </w:t>
    25.             </w:r>
    26.         </w:p>  
    27. что то после000  
    28. -------------------------
    29.    что то до
    30.         <w:p w:rsidR="00E107EB" w:rsidRPr="00BB1EBA" w:rsidRDefault="00052143" w:rsidP="001C4FA8">
    31.             <w:pPr>
    32.                 <w:spacing w:line="360" w:lineRule="auto"/>
    33.                 <w:rPr>
    34.                     <w:b/>
    35.                 </w:rPr>
    36.             </w:pPr>
    37.             <w:r w:rsidRPr="00BB1EBA">
    38.                 <w:rPr>
    39.                     <w:rStyle w:val="a5"/>
    40.                     <w:b w:val="0"/>
    41.                 </w:rPr>
    42.                 <w:t>
    43.                     <w:tbl>
    44.                         <w:tblPr>
    45.                           внутренности
    46.                         </w:tr>
    47.                     </w:tbl>
    48.                 </w:t>
    49.             </w:r>
    50.         </w:p>  
    51. что то после      
    52. ';        
    где каждая таблица завернута в абзац, если от нее подниматься - первый
    Код (Text):
    1. <w:p
    Мне надо по сути вместо абзаца с таблицей, оставить только таблицу.

    Делаю:
    PHP:
    1. $x2 = preg_replace('/(<w:p\s.*<w:r\s.*(<w:tbl>.*<\/w:tbl>).*<\/w:r>.*<\/w:p>)/isU', '$2', $x);
    Но оно хватает вот этот самый первый
    Код (Text):
    1. <w:p
    после которого идет 22222.
    Хотя оно должно его не трогать, а оставить мне все вот это остальное чтобы в результате осталось:
    Код (Text):
    1. 1111111
    2. <w:p >22222
    3.    что то до00000
    4.                     <w:tbl>
    5.                         <w:tblPr>
    6.                           внутренности000
    7.                         </w:tr>
    8.                     </w:tbl>
    9. что то после000  
    10. -------------------------
    11.    что то до
    12.                     <w:tbl>
    13.                         <w:tblPr>
    14.                           внутренности
    15.                         </w:tr>
    16.                     </w:tbl>
    17. что то после