Autor Zpráva
juneau
Profil
Zdravím, používám TinyMCE a potřebuji v něm provádět menší úpravy vygenerovaného HTML kódu. Jde o to, že chci v textu používat svoje vlastní značky, se kterými pak CMS dál pracuje... ale ne v případě, že je TinyMCE nějak zformátuje. Jde o kód

<p><%MojeZnacka%></p> // spravne
<p><strong><%MojeZnacka%></strong></p> // SPATNE
<p>COKOLI<%MojeZnacka%>COKOLI</p> // SPATNE


Následující regulární výraz si poradí s prvním špatným kódem (a kód značky už má ošetřené zobáčky (jinak jej IE v editoru ani nezobrazí)), ale už ne s druhým. Jde to nějak řešit?

content.replace(/<p([^>]*)>([^&]*)&lt;([^&]*)&gt;([^>]*)([>]*)<\/p>/g, '<p>&lt;$3&gt;</p>');
Chamurappi
Profil
Reaguji na juneau:
([^>]*)([>]*)
Co má dělat tato část výrazu? Ve druhém zmíněném špatném kódu chytne „COKOLI</p>“, takže následující část výrazu „<\/p>“ už nemá, co nacucnout.
juneau
Profil
No právě :) Vím, proč ten druhý špatný kód nefunguje, ale nevím, jak napsat regulární výraz "cokoli až na </p>".
Chamurappi
Profil
Reaguji na juneau:
Jakékoliv „cokoliv až na“ jde zapsat jako „.*?“. Otazník zařídí, že výraz nebude nenasytný a včas se zarazí.
juneau
Profil
Ha! To by mohlo být ono. Děkuji!

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0