Jestli s tim ma nekdo pracovat, musis dat cely example. zdrojovy text, vyrazy, funkce, vystup, jak vypada, jak by vypadat mel. Proste, spustitelna forma.
Ano, slo by to, vyraz by byl slozitejsi a mozna pouzit callback funkci. Proc to nedelas v html/js
Nahodny vyber z googlu
preg_replace('/<span class="it">(.*?)<\/span>/', '{it}$1{/it}', $text)
http://www.joellipman.com/…wo-tags.html
Vyraz bych videl asi nejak takto (plus minus lomitka a tak, mozna i jima se zapisuje $2 a replacovani)
(<(\w+).*?>)(.*?)(</$2.*?>), $1.replace($3).$4
Cili, tak je tvoreny pismeny \w, minimalne 1 az nekonecno po prvni nepismenovy znak \w+.
Ta $2 by mela predstavovat druhou zavorku, cili to \w+, stejny tag. no, Ale proglem, kdyz das dva stejne tagy do sebe <a><b></b></a>. A dal to selze, kdyz bude vic tagu v sobe.
Ja bych udelal to, co napsal kit. Pouzil bych parsovani na tagy a pak nahradil text. Mozna pujde pouzit primo simplexmlparser. Nebo to provedl v javascriptu, ktery umi pristupovat k tagum jako elementum (childnodes). Tam bys parser nepotreboval a taky by se tim nezatezoval server.