Autor | Zpráva | ||
---|---|---|---|
SwimX Profil |
#1 · Zasláno: 13. 1. 2009, 12:39:13 · Upravil/a: SwimX
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 |
#2 · Zasláno: 13. 1. 2009, 12:49:06
Najlepsie je IMO pouzit tuto triedu. Nema zmysel vymyslat vymyslene. Programator musi byt lenivy - pouzivat cudzie kniznice.
|
||
Majkl578 Profil |
#3 · Zasláno: 13. 1. 2009, 13:20:20
kdyz uz tak:
$zprava = preg_replace("#\[b\](.*)\[/b\]#is", "<b>$1</b>", $zprava); |
||
SwimX Profil |
#4 · Zasláno: 13. 1. 2009, 13:21:48
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 |
#5 · Zasláno: 13. 1. 2009, 15:35:43
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 |
#6 · Zasláno: 13. 1. 2009, 16:42:25 · Upravil/a: SwimX
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 |
#7 · Zasláno: 13. 1. 2009, 16:47:41
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 |
#8 · Zasláno: 13. 1. 2009, 16:59:13
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 |
#9 · Zasláno: 14. 1. 2009, 08:36:10
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 |
#10 · Zasláno: 14. 1. 2009, 09:05:49
blaaablaaa
Ale zvysi to zataz serveru. Asi dost znatelne. Nakolko ukladacich operacii je vyrazne menej ako citacich. |
||
SwimX Profil |
#11 · Zasláno: 14. 1. 2009, 09:37:55
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 |
#12 · Zasláno: 14. 1. 2009, 09:52:52
SwimX
Ano, ukládej oboje. |
||
Časová prodleva: 15 let
|
0