Autor Zpráva
SwimX
Profil
Dobrý den,
mám diskusní knihu, kde uživatel může pomocí bbcodu dělat tučné písmo a kurzívu a vkládat odkazy do příspěvku
po odeslání je potřebuji přepsat za html tagy a zapsat do databáze
nahradit řetězec [ b ] za <b> nejde - prrotože kdyby smazal ukonččovací - budu mít tučně celou stránku. Jak honit phpko změěnit jenom ukončené značky?

Vymyslel sem:
bude promenna nalezene_tagy

- najit prvni tag
- vypsat text pred tagem

- pokud otvirajici tag
- pridat tag do pole nalezene_tagy
- vypsat html otviraci tag
pokud zaviraci
- zavirat postupne tagy z pole nalezene_tagy, a vzdy smazat prislusny tag z toho pole, tak dlouho, dokud posledni tag v poli se nerovna nalezenemu zaviracimu tagu (ten taky zavrit a taky smazat z pole)
- pokud je pole nalezene_tagy prazdne, nic nevypisovat

- najit dalsi tag a zase...


Příde mi to ale trchu zbytečně složité

EDIT: nejlepší by bylo
ereg_replace("\[b\].\[/b\]", "<b>.</b>", $zprava);
srigi
Profil
Najlepsie je IMO pouzit tuto triedu. Nema zmysel vymyslat vymyslene. Programator musi byt lenivy - pouzivat cudzie kniznice.
Majkl578
Profil
kdyz uz tak:
$zprava = preg_replace("#\[b\](.*)\[/b\]#is", "<b>$1</b>", $zprava);
SwimX
Profil
Majkl578
napsal sem to jenom tak jako jak byh to chtěl, nevěděl sem že to opravdu de, děkuju

srigi
Díky, beá suprově :)
bohyn
Profil
SwimX
Jen takova poznamka na okraj. Ukladej do databaze formatovanou verzi (popripade oboje), pri delsich textech a vice prispevcich by to mohl byt docela zahul na server (zvlast kdyz pridas jeste dalsi znacky).
SwimX
Profil
bohyn
farmatovanou.. myslíš ten bbcde nebo html tagy?
jinak mám tam 10 smajlů, b, i, url -> návštěvnost 5 lidí měsíčně (většinou pětkrát já :D)
zahul na server - webzdarma tam ma nake ty limity..

Díky
bohyn
Profil
SwimX
farmatovanou.. myslíš ten bbcde nebo html tagy?
Formatovanou myslim vysledne HTML, BB schovavej jen kdyz umoznujes upravu prispevku.

návštěvnost lidí měsíčně (většinou pětkrát já :D)
Pri navstevnosti 0,00nic bude navstevni kniha prazdna takze neni teba si lamat hlavu ;)
SwimX
Profil
bohyn
Pri navstevnosti 0,00nic bude navstevni kniha prazdna takze neni teba si lamat hlavu ;)
to je čistě z učebních důvodů. Něco dělat musím.

Formatovanou myslim vysledne HTML, BB schovavej jen kdyz umoznujes upravu prispevku.
To také dělám
Uprava příspěvků je povolena adminovi, a to řeším funkcí zpět - která z příspěvkunahradí např:
$zprava = str_replace("<br>", "\n", $zprava);
...
blaaablaaa
Profil
SwimX
do db ukladej BBkody, ne HTML verzi. Co kdyz se po mesici rozhodnes, ze tucne nebude prevedeno na <b>tucne</b>, ale treba <strong>tucne</strong>
srigi
Profil
blaaablaaa
Ale zvysi to zataz serveru. Asi dost znatelne. Nakolko ukladacich operacii je vyrazne menej ako citacich.
SwimX
Profil
blaaablaaa
1) to neudělám, protože strong ne jenom, že zvýraznuje, ale přidává slovu i určitou váhu
2) připadá mi lepší jednou změnit BBcode na html a uložit, pak jen vypsat, než při každém výpisu příspěvku procházet a nahrazovat.
řešením by bylo ukládat oboje, to nebyla taková zátěž (jeden sql dotaz) a když bych dělal změny, tak bych ho zatížil jednou víc. To eště promyslím, děkuji
Mastodont
Profil
SwimX
Ano, ukládej oboje.

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: