Autor Zpráva
crossbone
Profil
Ahoj,
potřeboval bych vytvořit regularní výraz (případně jinou metodu), který by mi rekurzivně nahradil následující kód rekurzivně:
<klic=neco>
  <neco[i]>
  <klic=neco2>
    <neco2[a]>
  </klic>
</klic>


jde mi pouze o to, jak to napsat tak aby si to vzalo nejdřív ten nadřazenej <klic> a pak až zpracovalo ten vnitřní.

pokud použiju toto:
preg_replace("/<klic=([^>]+)>([^\^]+)<\/klic>/U", "\${2}", $input);


tak mi to vrátí tuhle část:
  <neco[i]>
  <klic=neco2>
    <neco2[a]>


což je špatně...

když tam nedám ten speciální znak "U" tak je zase šance, že když bude na stránce tenhle kód
<klic=neco>
  <neco[i]>
  <klic=neco2>
    <neco2[a]>
  </klic>
</klic>

<klic=neco>
  <neco[i]>
  <klic=neco2>
    <neco2[a]>
  </klic>
</klic>


tak mi to vrátí toto:
  <neco[i]>
  <klic=neco2>
    <neco2[a]>
  </klic>
</klic>

<klic=neco>
  <neco[i]>
  <klic=neco2>
    <neco2[a]>
  </klic>


předem díky moc, až sem moje skills s reg. výrazama nesahaj :)
Johnik
Profil
Co zkusit pracovat s tim jako s XML (treba pres SimpleXML)?

Pak ve foreach projit klic, provest akci nebo zase projit jeho klic...
DoubleThink
Profil *
A co takhle používat přímo XML a ne tento piece of shit?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: