Karmaşık düzenleme xml dosyası

0 Cevap php

Örneğin, bu xml:

<x>
    <y>some text</y>
    <y>[ID] hello</y>
    <y>world [/ID]</y>
    <y>some text</y>
    <y>some text</y>
</x>

ve biz zarar xml biçimlendirme olmadan kelime "[ID]", "[/ ID]" ve (biz bilmiyoruz, ayrıştırma) bunların arasında metin, elbette kaldırmak gerekir.

Bence tek çözüm şudur:

  1. Xml örneğin regex kullanarak metni bulun: "/\[ID\].*?\[\/ID\]/". Bizim durumumuzda, sonuç "[ID]hello</y><y>world[/ID]" olacak

  2. In result from prev step we need to find text without xml-tags by using this regex: "/(?<=^|>)[^><]+?(?=<|$)/", and delete this text. The result will be "</y><y>"

  3. Bu gibi fırıl yaparak orijinal xml yapılan değişiklikler:

    str_replace($step1string,$step2string,$xml);

is this correct way to do this? I just think that this "str_replace"'s things it's not best way to edit xml, so maybe you know better solution?

0 Cevap