Autor Zpráva
Kub!k
Profil *
Zdravim, prave sa hram s mensou diskusiou a mam takyto problem. Ked chcem niekoho citovat, obalim to do [quote][/quote], tak to je ulozene aj v DB a pred vypisom to prebehnem preg_replace s nasledovnym kodom:

"/\[quote\](.*?)\[\/quote\]/s" => "<span class=\"quote\">$1</span>"


(key sa hlada a value ho nahradzuje). A prisiel problem... Ked mam [quote][quote][/quote][/quote], tak mi to bud parsne hned prvy otvaraci s prvym uzatvaracim, ked tam pridam ungreedy modifier (teda koniec mam /sU), tak mi najde akurat prvy a posledny, ale tu vnorenu citaciu necha nedotknutu... Ako by som dosiahol, aby to parsoval aj vnorene v kombinacii s tym ungreedy? Dufam ze pochopene, diky vopred :)
tiso
Profil
Kub!k - nahrádzaj to zvlášť:
[quote] -> <span class="quote">
[/quote] -> </span>
SwimX
Profil
Kub!k
a pred vypisom to prebehnem preg_replace
osobně bych ukládal ten BBcode jak to máš a do druhé tabulky bych to dával rovnou nahrazené pregem, abys při výpisu nemusel neustále měnit bbcode za html. (Vem is že tam přijde 1000 lidí denně a ty 1000x musíš op výpisu z db měnit. Takle budeš měnit jenom když budeš ukládat, při výpisu jenom vypisovat, citelně se to zrychlí)

tiso
nahrádzaj to zvlášť:
a co když mu někdo umaže koncovou značku? pak bude mít celý příspěvek se stylem pro odpověď (ne-li celou diskusi)

[del]mě funguje todle: (edit: ale nedočetl jsem konec tvého příspěvku, takže se omlouvám, to ti nepomůže)
$zprava = preg_replace("#\[quote\](.+)\[/quote\]#is", ""<span class=\"quote\">$1</span>", $zprava);[/del]
Kub!k
Profil *
OMG, skvele! :) Velmi pekne dakujem za promptnu odpoved. Som ja ale lamass... Ked chcem dat dalsie quote, tak mi JS musi parsnut tie spany naspat na tagy... A tam to robim oddelene. Uz mi to dnes nemysli :-/ Este raz diky ! :)
imploder
Profil
Jednoduché řešení je nahrazovat prostě každé "[quote]" za "<span class=\"quote\">" a každé "[/quote]" za "[/span]".

Fungovat to tak může, neumožňuje to však načíst obsah citace (jak jsi udělal s $1) - záleží, jestli to chceš jenom převést, nebo s obsahem citace ještě něco provádět. Pak by se to muselo udělat nějak důmyslněj.
Kub!k
Profil *
SwimX:

To mi je jasne, ze PCRE-related funkcie su pomale... A idem to tak aj prerobit, nakolko som sa bal spatnej kompatibility s dalsim quotovanim, ale o ta sa mi bude starat na strane klienta JS. Vdaka obom :)

P.S.: este vyskusam ten tvoj, aj s tymi odmazanymi:) kazdopadne ratam s tym, ze niekto moze pokazit znacky.. to uz je chyba dotycneho...
Kub!k
Profil *
@imploder: Ten obsah mi je nepotrebny. Na strane klienta si to uz JS parsne pekne :)
SwimX
Profil
Kub!k
to uz je chyba dotycneho..
jo a ty budeš mít celou diskusi kurzívou například :))

este vyskusam ten tvoj
to nemusíš, todle neřeší, nepřečet sem si pozorně tvůj příspěvek

starat na strane klienta JS
na to bacha. Co když si ho vypne. JS je dobrá pomůcka, ale vše musí ošetřit PHP.
Kub!k
Profil *
„to uz je chyba dotycneho..“
jo a ty budeš mít celou diskusi kurzívou například :))


Rozmyslam ako to je spravene na jednej onlineovke(hattrick), idem mrknut zdrojak s pokazenymi tagmi:)

na to bacha. Co když si ho vypne. JS je dobrá pomůcka, ale vše musí ošetřit PHP.


Pokial si ho vypne, tak mu nebude ani len fungovat gombik quote. href ma nastaveny na JS:void, ale ma cez mootols pridanu akciu, ze ma nacitat z parent->value a tu obklopit tagmi, pripadne ak uz tam su tie spany, vratit ich naspat na tagy:)

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:

0