Article View: pl.comp.lang.ruby
Article #21Re: Jak wyciągnąć fragment stringa?
From: Michal Kwiatkowski
Date: Fri, 07 Jul 2006 09:24
Date: Fri, 07 Jul 2006 09:24
39 lines
2386 bytes
2386 bytes
Aleksander Janeczko wrote: >> jeśli paragrafy nie będą się zagnieżdżały to po prostu: >> >> "[p]Jakiś paragraf[b]glup[/b][/p][li]"[/\[p\](.*?)\[\/p\]/,1] > > Piąty wątek na całej grupie i opisuje dokładnie mój przypadek. :) > Też staram się napisać konwerter BBCode -> XHTML, ale z wymaganą > poprawnością składniową XML. > > Najlepiej chyba jest rozbić cały ciąg na tablicę węzłów-dzieci, > tak aby: > > 'a[b]b[/b]c'.something => ['a', '[b]b[/b]', 'c'] > 'a[i]b[b]c[/i]d[/b]e.something => ['a[i]b[b]c[/i]d[/b]e'] Tego przykładu nie rozumiem. Ale ogólnie, skoro akceptujemy źle zagnieżdżone znaczniki (tak jak w Twoim drugim przykładzie), to nie ma co rozbijać, lepiej chyba zrobić zwykłe tłumaczenie poszczególnych elementów zawartych w nawiasach kwadratowych, bez rozkładania ich struktury. > I w zależności od zawartości każdego elementu tablicy > przepuszczać go do zwracanego ciągu lub zamieniać znacznik > BBCode na XHTML i (jeżeli zawiera kolejne elementy) wywoływać > na nim ponownie tę samą metodę rozbijania na dzieci... > > Ale jak wykonać krok pierwszy? > Tzn. jak powinno wyglądać something? :) Przy opracowywaniu tego można oprzeć się na już istniejącym rozwiązaniu. Na przykład tutaj: http://bbcode.strefaphp.net/opis.php dostępne są gotowe wyrażenia regularne, wystarczy je pożyczyć. Pozdrawiam, mk -- . o . >> http://joker.linuxstuff.pl << . . o It's easier to get forgiveness for being wrong o o o than forgiveness for being right.
Technical Details
Message-ID:
<e8l97v$gjt$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mailReferences:
<op.tb9xtbxptqyf8n@docent> <e8jonc$mvq$1@news.onet.pl> <e8l3tr$obp$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail From: Michal Kwiatkowski <ruby@no.spam> Newsgroups: pl.comp.lang.ruby Subject: Re: Jak wyciągnąć fragment stringa? Date: Fri, 07 Jul 2006 11:24:17 +0200 Organization: Onet.pl Lines: 39 Message-ID: <e8l97v$gjt$1@news.onet.pl> References: <op.tb9xtbxptqyf8n@docent> <e8jonc$mvq$1@news.onet.pl> <e8l3tr$obp$1@inews.gazeta.pl> NNTP-Posting-Host: lenartowicza.abp.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1152264255 17021 82.160.43.2 (7 Jul 2006 09:24:15 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Fri, 7 Jul 2006 09:24:15 +0000 (UTC) X-Sender: K3Ou4Ww1jonstvk1AsaIIg== User-Agent: KNode/0.10.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit