🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #21

Re: Jak wyciągnąć fragment stringa?

#21
From: Michal Kwiatkowski
Date: Fri, 07 Jul 2006 09:24
39 lines
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-mail
References: <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