Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Regulárne výrazy - odstránenie farby písma zo štýlu TAGu

Chcel by som odstrániť farbu písma z tagu pomocou regulárnych výrazov (ASP alebo PHP, to je jedno vlastne). Mohol by mi niekto napísať riešenie, už som z toho zúfalý.

Príklad :

<span style="color: blue;">Skúška</span>, možno<span style="font-weight: bold; color: red">to pôjde</span>

... a chcem dostať toto :

<span style="">Skúška</span>, možno<span style="font-weight: bold;">to pôjde</span>

Ďakujem

Předmět Autor Datum
Rozdelil by som si to do viacerých krokov - najprv by som rozpoznal tagy, potom hodnotu atribútu sty…
los 03.11.2006 18:37
los
Idem to vyskúšať, klobúk dolu pred tebou. Vďaka
Len tak 03.11.2006 18:46
Len tak
Ešte som si uvedomil, že atribút pre štýl nemusí byť prvý. Takže toto by mohlo byť lepšie: text.rep… poslední
los 03.11.2006 19:23
los

Rozdelil by som si to do viacerých krokov - najprv by som rozpoznal tagy, potom hodnotu atribútu style a nakoniec by som odstránil definíciu farby.

Dá sa to aj v jednom kroku, ale ľahšie sa spraví nejaká chyba. Napr. v JavaScripte by to na jeden krok mohlo vyzerať nejako takto (PHP pozná aj tzv. "tvrdenie o predchádzajúcom", čo by sa dalo využiť):

text.replace (/(<\w+\s+style\s*=\s*"(\s*[\w\-\d]*?\s*:\s*[^;<>"]*;)*)\s*color\s*:\s*[^;<>"]*;?/gi, "$1");

(počíta sa s tým, že atribúty sú v dvojitých úvodzovkách)

Zpět do poradny Odpovědět na původní otázku Nahoru