[ Guardian OfThe Blind @ 26.09.2002. 07:42 ] @
Napravio sam funkciju koja prebacuje "bbcode" u html pre prikazivanja, sa standardnim funkcijama nl2br,b,i,u,list, medjutim kod liste se pojavio problem: između list tagova nije dozvoljeno <br /> po xhtml standardu; a pošto nisam toliko (uopšte) iskusan sa reg exp. treba mi zamena za nl2br koja neće raditi unutar [list] [/list] ili izraz koji ce izbaciti <br /> ove iz list dela posle odradjenog nl2br na celom tekstu
[ Gojko Vujovic @ 26.09.2002. 13:20 ] @
E ovo i meni treba. I da ne dozvoljava pogresno nested liste tipa:

[list][/list][list][/list]

Dakle da ne radi zamenu <br> ili nekog slicnog tag-a unutar [list][/list].

Moze i par komada regexp-a i neki kod, ne mora sve u jedan da stane. Php na primer ? :) Perl ? svejedno..
[ leka @ 26.09.2002. 14:19 ] @
Gojko, ti dobro znas da sam ja RegExp obozavatelj, sto taj problem ranije nisi poslao ovde? ;) Okej ljudi imacete resenje kad malo izadjem iz guzve.
[ Guardian OfThe Blind @ 29.09.2002. 23:25 ] @
čisto da kažem da sam našao privremeno rešenje pre nego što leka da the-ultimate-rich-text-regexp :)

$tekst = preg_replace("#\n*\[\*\](.*?)\[/\*\]#si", "<li>\\1</li>", $tekst);

pa tek onda:
$tekst = nl2br($tekst);

znači, ispred [*] briše sve new line karaktere pre konverzije... jedino što trenutno od korisnika zahtevam da napravi i [/*] mada bi mogao da stavim

$tekst = preg_replace("#\n*\[\*\](.*?)\n#si", "<li>\\1</li>", $tekst);

ali onda nije lepo svaka opcija u jednom redu...
[ Gojko Vujovic @ 08.10.2002. 22:58 ] @
Guardian, ne valja ti taj regexp. Pocev od * koji matchuje karakter pre sebe, a tu nisi stavio tacku (.) da matchuje sve zivo nego escapeovanu zagradu [.

Ne znam bas kako si zamislio da to radi..

sto ne navedes \[list\] ? Zasto savki [ tag ] [ /tag ] da ti pretvara u listu ?
[ Guardian OfThe Blind @ 09.10.2002. 08:45 ] @
ne, Gojko, ovo je za [*] tj elemente liste - tako sam ih obeležio njih slepi za [list][/list] tj ovako

[list]
[*]Prva stavka
[*]druga
[/list]

ide u ovo:

[list][*]Prva stavka[*]druga[/list]

vidiš prvo mečuje n puta new line ispred [*] a u outputu ga nema, a bilo šta uzima između [*] i opet novog reda koji takoćđe neće napisati... meni ovako radi...
[ Gojko Vujovic @ 09.10.2002. 18:35 ] @
Aha ok, razlikuju nam se potrebe očigledno, ja nešto drugo pokušavam da radim i izgleda da ne može bez najmanje 2-3 ciklusa parsinga..