I'd like to work on a bbcode filter for a php website. (I'm using cakephp, it would be a bbcode helper) I have some requirement.
Bbcodes can be nested. So something like that is valid.
[block]
[block]
[/block]
[block]
[block]
[/block]
[/block]
[/block]
Bbcodes can have 0 or more parameters.
Exemple:
[video: url="url", width="500", height="500"]Title[/video]
Bbcodes might have mutliple behaviours.
Let say, [url]text[/url]
would be transformed to [url:url="text"]text[/url]
or the video bbcode would be able to choose between youtube, dailymotion....
Ben benim ihtiyaçlarını en kapsar düşünüyorum. Ben Şimdiden regex ile bir şey yaptım. Ama benim en büyük problem parametrelerini maç oldu. Aslında, 0 parametreleri ile çalışmak ve bbcode için BBCode iç içe var. Ama parametreler için bir regex maç sırasında eklendiğinde iç içe BBCode'u doğru uyuşmuyor.
"\[($tag)(=.*)\"\](.*)\[\/\1\]"
/ / Bu *. Değildi ama non-gready matcher
Şu anda benimle tam regex yok, Ama (yukarıda) gibi baktı bir şey vardı.
So is there a way to match bbcode efficiently with regex or something else. The only thing I can think of is to use the visitor pattern and to split my text with each possible tags this way, I can have a bit more of control over my text parsing and I could probably validate my document so if the input text doesn't have valid bbcode. I could Notify the user with a error before saving anything.
I would use sablecc to create my text parser. http://sablecc.org/
Herhangi iyi bir fikir? veya verimli, esnek bbcode çözümleyici yol açabilecek bir şey?
Seni ve benim kötü İngilizce için üzgünüm teşekkürler ...