Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
nl2br() obrnuto?

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
jojo



Joined: 27 Jan 2005
Posts: 1591
Location: insula aurea

PostPosted: 23.12.2005 13:05    Post subject: nl2br() obrnuto? Add user to your forum ignore list Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 23.12.2005 13:12    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message
jojo



Joined: 27 Jan 2005
Posts: 1591
Location: insula aurea

PostPosted: 23.12.2005 13:18    Post subject: Add user to your forum ignore list Reply with quote

radi ko podmazano, hvala još jednom Very Happy

_________________
deviant / malomorgen / videoholik / cimer fraj
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 23.12.2005 15:11    Post subject: Add user to your forum ignore list Reply with quote

ummm... zašto backslashaš < i > znakove? Confused

i tvoj radi dobro, samo što je ovo malo zgodnije (jede okolnji whitespace) i čitkije
Code:
#\s*<br.*?/?>\s*#si
Back to top
View user's profile Send private message Send e-mail Visit poster's website
jojo



Joined: 27 Jan 2005
Posts: 1591
Location: insula aurea

PostPosted: 24.12.2005 15:15    Post subject: Add user to your forum ignore list Reply with quote

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 Cool

_________________
deviant / malomorgen / videoholik / cimer fraj
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 24.12.2005 17:33    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 24.12.2005 17:37    Post subject: Add user to your forum ignore list Reply with quote

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..... Twisted Evil

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 24.12.2005 17:54    Post subject: Add user to your forum ignore list Reply with quote

Ja često zakomentiram u kodu što mi regexp radi jer tjedan dana kasnije nemam pojma što sam napisao Confused

naprimjer ovaj... WTF što je to??
Code:
(?<=^|[[\s\(\{/])["“]([^"”]+?)(?: \| ([^"”]+?))?["”]\(([^\s]+?)\)(?=[\s.?!;:,)}\]…"\'/]|$)
Back to top
View user's profile Send private message Send e-mail Visit poster's website
bj__



Joined: 09 Nov 2004
Posts: 65
Location: Karlovac

PostPosted: 24.12.2005 19:03    Post subject: Re: nl2br() obrnuto? Add user to your forum ignore list Reply with quote

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
View user's profile Send private message Twitter profile
Gale



Joined: 04 Apr 2005
Posts: 120

PostPosted: 24.12.2005 19:38    Post subject: Re: nl2br() obrnuto? Add user to your forum ignore list Reply with quote

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! Very Happy
Back to top
View user's profile Send private message Visit poster's website
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 24.12.2005 19:54    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
Gale



Joined: 04 Apr 2005
Posts: 120

PostPosted: 24.12.2005 20:03    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message Visit poster's website
nel`chee



Joined: 08 Jul 2004
Posts: 2087
Location: Rijeka

PostPosted: 24.12.2005 20:47    Post subject: Add user to your forum ignore list Reply with quote

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 portfoliofree Photoshop brushes stuffsketchblogfacebook
Back to top
View user's profile Send private message Visit poster's website Twitter profile
bj__



Joined: 09 Nov 2004
Posts: 65
Location: Karlovac

PostPosted: 24.12.2005 21:20    Post subject: Re: nl2br() obrnuto? Add user to your forum ignore list Reply with quote

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
View user's profile Send private message Twitter profile
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 25.12.2005 00:46    Post subject: Add user to your forum ignore list Reply with quote

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 Wink

@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 Confused
Back to top
View user's profile Send private message Send e-mail Visit poster's website
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 25.12.2005 14:53    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 25.12.2005 15:16    Post subject: Add user to your forum ignore list Reply with quote

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 Wink


jok, nije Wink

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 25.12.2005 15:42    Post subject: Add user to your forum ignore list Reply with quote

Razz

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
View user's profile Send private message Send e-mail Visit poster's website
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 25.12.2005 15:54    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 25.12.2005 17:41    Post subject: Add user to your forum ignore list Reply with quote

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 Confused
Back to top
View user's profile Send private message Send e-mail Visit poster's website
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 25.12.2005 17:47    Post subject: Add user to your forum ignore list Reply with quote

nije bed Very Happy, napravis konverziju natrag.

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
sime
Guest





PostPosted: 25.12.2005 18:22    Post subject: Reply with quote

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.

PostPosted: 25.12.2005 18:27    Post subject: Add user to your forum ignore list Reply with quote

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
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 26.12.2005 15:53    Post subject: Add user to your forum ignore list Reply with quote

retro_one wrote:
nije bed Very Happy, 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
View user's profile Send private message Send e-mail Visit poster's website
retro_one



Joined: 16 Sep 2003
Posts: 880
Location: DUBRAVA.

PostPosted: 26.12.2005 15:55    Post subject: Add user to your forum ignore list Reply with quote

jel ima podrsku za tablice?
ak ima...salji odma!!!1 Wink

_________________
Just your average eccentric programmer.
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group