View previous topic :: View next topic |
Author |
Message |
jojo
Joined: 27 Jan 2005 Posts: 1591 Location: insula aurea
|
Posted: 23.12.2005 13:05 Post subject: nl2br() obrnuto? |
|
|
mislila sam da bi bilo logično da postoji br3nl() ali jok... postoji li funkcija za nl2br u obrnutom smjeru |
_________________ deviant / malomorgen / videoholik / cimer fraj |
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 23.12.2005 13:12 Post subject: |
|
|
Code: | $string = preg_replace('/\<br[[:ascii:]]*(\/)*\>/Ui', "\r\n", $string); |
ovo je napamet...mislim da bi trebalo radit...al provjeri.. |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
jojo
Joined: 27 Jan 2005 Posts: 1591 Location: insula aurea
|
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 23.12.2005 15:11 Post subject: |
|
|
ummm... zašto backslashaš < i > znakove?
i tvoj radi dobro, samo što je ovo malo zgodnije (jede okolnji whitespace) i čitkije
Code: | #\s*<br.*?/?>\s*#si |
|
|
|
Back to top |
|
|
jojo
Joined: 27 Jan 2005 Posts: 1591 Location: insula aurea
|
Posted: 24.12.2005 15:15 Post subject: |
|
|
vidi se razlika, ovo sulienovo formatira tekst da bude točno onakav kakav je bio kad je unesen
ali obojica ste legende ako se mene pita |
_________________ deviant / malomorgen / videoholik / cimer fraj |
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 24.12.2005 17:33 Post subject: |
|
|
jednom sam naletio na neki parser (ne sjecam se tocno gdje..mislim u editoru nekom) koji je imao problema s < i > pa ostalo ko navika... |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 24.12.2005 17:37 Post subject: |
|
|
Sulien wrote: | i tvoj radi dobro, samo što je ovo malo zgodnije (jede okolnji whitespace) i čitkije |
damn homie...regexi nisu tu da bi bili citki...to je ko da ides nekom madjionicarske trikove objasanjavat...fun spoiler..... |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 24.12.2005 17:54 Post subject: |
|
|
Ja često zakomentiram u kodu što mi regexp radi jer tjedan dana kasnije nemam pojma što sam napisao
naprimjer ovaj... WTF što je to??
Code: | (?<=^|[[\s\(\{/])["“]([^"”]+?)(?: \| ([^"”]+?))?["”]\(([^\s]+?)\)(?=[\s.?!;:,)}\]…"\'/]|$) |
|
|
|
Back to top |
|
|
bj__
Joined: 09 Nov 2004 Posts: 65 Location: Karlovac
|
Posted: 24.12.2005 19:03 Post subject: Re: nl2br() obrnuto? |
|
|
jojo wrote: | mislila sam da bi bilo logično da postoji br3nl() ali jok... postoji li funkcija za nl2br u obrnutom smjeru |
moze pitanje zasto ti treba nl2br u obrnutom smjeru? |
|
|
Back to top |
|
|
Gale
Joined: 04 Apr 2005 Posts: 120
|
Posted: 24.12.2005 19:38 Post subject: Re: nl2br() obrnuto? |
|
|
bj__ wrote: |
moze pitanje zasto ti treba nl2br u obrnutom smjeru? |
Pretpostavljam da želi ponovno uređivati tekst pa da mu se ne vidi <br /> u textarea!
Ali čini mi se da nl2br() ne makiva newline (\n) iz teksta nego samo pored njega stavi <br />, pa ako samo makne <br /> iz teksta u textarea će mu se dalje prikazivati novi red.
Ispravite me ako sam nešto pomiješao! |
|
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 24.12.2005 19:54 Post subject: |
|
|
Potpuno je svejedno da li BR zamijeni newline ili ga pregazi. Onaj tko radi BR-ove očito želi HTML a u HTML-u je whitespace (osim kod razdvajanja riječi) nebitan |
|
|
Back to top |
|
|
Gale
Joined: 04 Apr 2005 Posts: 120
|
Posted: 24.12.2005 20:03 Post subject: |
|
|
Sulien wrote: | Potpuno je svejedno da li BR zamijeni newline ili ga pregazi. Onaj tko radi BR-ove očito želi HTML a u HTML-u je whitespace (osim kod razdvajanja riječi) nebitan |
Ali nije svejedno kod sljedećeg uređivanja.
Jer ako je ostavio <BR /> u kodu i onda ga ponovno spremi u bazu dobit će dva <BR /> taga umjesto jednog jer će ovaj <BR /> ostati a zbog newline će nl2br() stvoriti još jedan <br /> i kvadratno će se povećavati svakim uređivanjem ako neće rućno svaki put makivati tag. |
|
|
Back to top |
|
|
nel`chee
Joined: 08 Jul 2004 Posts: 2087 Location: Rijeka
|
Posted: 24.12.2005 20:47 Post subject: |
|
|
postoji custom skripta koju je netko postao na PHP.net
Code: | function br2nl($str) {
$str = preg_replace("/(\r\n|\n|\r)/", "", $str);
return preg_replace("=<br */?>=i", "\n", $str);
} |
ona najprije brise novi red a onda mijenja <br> u novi red |
_________________ ♥ art & design portfolio ♥ free Photoshop brushes stuff ♥ sketchblog ♥ facebook ♥ |
|
Back to top |
|
|
bj__
Joined: 09 Nov 2004 Posts: 65 Location: Karlovac
|
Posted: 24.12.2005 21:20 Post subject: Re: nl2br() obrnuto? |
|
|
Gale wrote: |
Pretpostavljam da želi ponovno uređivati tekst pa da mu se ne vidi <br /> u textarea!
|
a zasto uopce spremati u bazu tekst sa <br />? kaj nije jednostavnije pri ispisu jednostavno staviti nl2br()? ovako se radi dupli posao, a korist bas i ne vidim... correct me if I'm wrong? |
|
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 25.12.2005 00:46 Post subject: |
|
|
BR se ne smije spremati u bazu. Processing za client-side mora biti čisto ne-destruktivan - podaci u bazi moraju biti 'čisti' podaci koji se pri slanju useru pretvaraju u format koji user želi dobiti (u ovom slučaju HTML).
To je dobra programerska praksa (i blijeda osnova nekog MVC patterna: model vs. view). Sad će doći neki pametnjaković i reći 'ali tako radimo isti posao za svakog usera posebno, zašto samo ne spremimo procesirani HTML u bazu'. To je druga stvar. Između podataka u bazi i nečijeg browsera mora stajati sloj cacheiranja na serveru kao što neki template engines imaju već riješeno.
Jednom ćeš htjeti iz podataka u bazi generirat PDF i što onda ako si prije toga napunio bazu BR-ovima, DIV-ovima i ostalime? Da, za*eb
@nelchee: a gle sve ovisi o tome što točno netko treba, po meni se uopće ne treba brinut za whitespace u HTML-u pošto je nebitan, ali ne bi preporučio koristit taj code pošto ne jede sve BR-ove ako dobro pročitaš regexp |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 25.12.2005 14:53 Post subject: |
|
|
ja sam odlucio da je meni "sluzbeni" jezik u bazi HTML, zato jer ga se requesta sigurno preko 95% slucajeva. ako trebam neki drugi format...upogonim neku skriptu za "prijevod". Prilicno dobro radi, osobito kada je XHTML well formed, zato mi html koji ulazi od usera u bazu prolazi rigorozne provjere...da ne bi neko sranje slucajno uslo u bazu |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 25.12.2005 15:16 Post subject: |
|
|
Sulien wrote: | Jednom ćeš htjeti iz podataka u bazi generirat PDF i što onda ako si prije toga napunio bazu BR-ovima, DIV-ovima i ostalime? Da, za*eb |
jok, nije |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 25.12.2005 15:42 Post subject: |
|
|
Ja sam uvijek za separaciju. Netko će, kao ti, odvagnuti da sve radi HTML-om i da mu ne treba ništa drugo, ali u općenitim slučajevima uvijek treba razmislit što će sve view generirat. To može bit feed ili neki drugi XML, HTML, XHTML za compliant browsere, PDF, CSV za neki export... Ne valjda palit mostove iza sebe.
Recimo BBcode na forumu se sprema u bazu kao BBcode, prevara se u HTML tek na outputu. |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 25.12.2005 15:54 Post subject: |
|
|
i sam znas da apsolutna separacija ne postoji...na kraju moras u nekom formatu opisati content...ja sam odabrao html jer ima gro prednosti pred recimo markdownom ili bbcodeom, prva je ta da ga za 95% requestova ga samo serviras bez ikakvog procesiranja, a druga je ta da ako je well formed...mozes uredno napraviti skriptu koja ce od tog html-a narpaviti bilo sto drugo...a iskreno puno mi je lakse procesiranje odraditi nekakvim xml parserom nego setom kompliciranih regexa...osim toga razlika izmedju Code: | [b] ja sam boldani bb code[/b] | i Code: | <strong>a ja html</strong> | i nije bas neka |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 25.12.2005 17:41 Post subject: |
|
|
To sa bbcode je samo primjer kako se u bazu ne treba spremati točno ono što zapravo dođe u browser.
Recimo ako pišeš markdownom i spremiš to procesirano kao HTML u bazu i sjetiš se editirati, kako ćeš to onda? Nemaš više markdown |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 25.12.2005 17:47 Post subject: |
|
|
nije bed , napravis konverziju natrag. |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
sime Guest
|
Posted: 25.12.2005 18:22 Post subject: |
|
|
Ja u bazu spremam čisti utf-8 content (markdown sintaksa) i paralelno cached (X)HTML.
Primjer: pišem članak po prvi put, hitnem submit > u bazu ide čisti sadržaj (markdown) i po prvi put paralelno procesirani HTML uz pomoć Markdowna. Nadalje se na siteu dohvaća samo taj cachirani HTML dok originalni čisti content čući u bazi i pozove se opet samo kad se editira članak. Kad je izmjena, onda se updatea i onaj cachirani HTML.
IMHO, najbolje moguće riješenje pogotovo za fcking blogove. Jako simple, ubrzava, i overhead na prostor je jako mali. |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 25.12.2005 18:27 Post subject: |
|
|
da to je ok za blogove gdje je jedini izvor informacija...textarea u koju ukucavas tekst...ali u malo povecem sistemu....takav pristup vrlo brzo počinje pokazivati svoje slabosti. ja naprimjeru u svom cmsu imam mogucnost odabira tipa rich text editora, tako da obicni useri dobiju tinymce ili fckeditor, a ja markdown powered textarea....u takvoj situaciji...html je definitivno the container za informacije. |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 26.12.2005 15:53 Post subject: |
|
|
retro_one wrote: | nije bed , napravis konverziju natrag. |
ovo je fora! moram to isprobati
ja sam razvio svoj markup sličan Textile i Markdown, vrti se kao klasa na PHP5 pa kad bude gotovo budem poslao zainteresiranima da vidim što misle |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 26.12.2005 15:55 Post subject: |
|
|
jel ima podrsku za tablice?
ak ima...salji odma!!!1 |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
|