How to plan and replace text between <wp: postmeta> </ wp: postmeta> tags using Notepad ++

I use XML export to remove old required data and replace it with appropriate tags. I look around, but could not find what I look, so forgive me if this seems unnecessary.

I want to replace all the data in <wp:postmeta>and tags </wp:postmeta>. However, since they are on several lines, they .*?do not work as they did in the past. I believe that this means that this is only one line. Here is a sample code:

<item>
    //Start of find

    <wp:postmeta>
        <wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
        <wp:meta_value><![CDATA[3]]></wp:meta_value>
    </wp:postmeta>
    <wp:postmeta>
        <wp:meta_key><![CDATA[_thumbnail_id]]></wp:meta_key>
        <wp:meta_value><![CDATA[51833]]></wp:meta_value>
    </wp:postmeta>
    <wp:postmeta>
        <wp:meta_key><![CDATA[snapEdIT]]></wp:meta_key>
        <wp:meta_value><![CDATA[1]]></wp:meta_value>
    </wp:postmeta>

    // End of find using Notepad++
</item>
<item>
    //Start of find

    <wp:postmeta>
        <wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
        <wp:meta_value><![CDATA[3]]></wp:meta_value>
    </wp:postmeta>
    <wp:postmeta>
        <wp:meta_key><![CDATA[_thumbnail_id]]></wp:meta_key>
        <wp:meta_value><![CDATA[51425]]></wp:meta_value>
    </wp:postmeta>

    // End of find using Notepad++
</item>

, <wp:postmeta> </wp:postmeta> item. , . , , . , , <wp:postmeta> </wp:postmeta>, .

.

+4
1

Notepad ++, . ( ), . matches newline " ".

, (X) HTML- .

, , , , , <wp:postmeta>.*?</wp:postmeta> , . . - regex.

</wp:postmeta>, -. :

<wp:postmeta>[^<]*(?:<(?!/wp:postmeta>)[^<]*)*</wp:postmeta>

. regex. , . matches newline.

wp: postmeta, +:

(?:\s*<wp:postmeta>[^<]*(?:<(?!/wp:postmeta>)[^<]*)*</wp:postmeta>)+

:

enter image description here

+3

Source: https://habr.com/ru/post/1621663/


All Articles