BBCode parser without Regex? [closed]
Asked Answered
L

6

5

I'm looking for a BBCode parser in Javascript or PHP without the need of using Regex. Can anybody suggest me a good one?

Lease answered 25/5, 2011 at 17:37 Comment(3)
why are you avoiding regex? (speed?)Lotte
Because I don't just want to replace the tags, I also want to do a little bit with the content between the tags. Do you have any suggestion for me?Lease
"I also want to do a little bit with the content between the tags" preg_replace_callback() is great for this. If you can give us a solid example of what exactly you're trying to do, we can give you more specific advice.Monastery
G
6

It is recommended to use regex.

Other solution:

function bb_parse($str)
{
    return str_replace(array('[b]', '[/b]'), array('<strong>', '</strong>'), $str);
}

This can break parsing due to mis-closing tags can end up content being wrapped with a HTML tag without closing.

Gillead answered 25/5, 2011 at 17:41 Comment(1)
Ehm, BB is a recursive format just as HTML. Thus, I invoke the pony: #1732848Grania
U
2

There's a PECL extension for bbcode. You'll need to take a look on how to install PECL extensions in order to utilize it.

Uncivilized answered 25/5, 2011 at 17:41 Comment(1)
I believe the PECL extension segfaulted on several of my tests, so proceed with caution.Monastery
M
1

Zend parser might be what you're looking for http://framework.zend.com/manual/en/zend.markup.parsers.html

Unfortunately, I found it the least practically functional of the BBCode parsers I evaluated: when encountering malformed markup ([b] asdf [/ wops I forgot to close my tag) it tends to throw away all content after the first malformed tag. Other bbcode parsers do a much better job of simply ignoring bad markup.

Monastery answered 25/5, 2011 at 17:42 Comment(0)
C
0

So I know you said no regex, but I recently wrote a BBCode parser in JavaScript, and I believe it addresses your concerns since it is not a simple find and replace and it gives you access to the content within the tags. You can see a demo of it here:

http://patorjk.com/bbcode-previewer/

And get the source and write up on it here:

http://patorjk.com/blog/2011/05/07/extendible-bbcode-parser-in-javascript/

Cyanide answered 26/5, 2011 at 1:3 Comment(0)
M
0

I recently write a bbcode parser in javascript.

What it can do:

  1. Convert BBcode string to HTML string;
  2. Convert HTML element to BBCode string;
  3. Auto correct BBCode string;

Check the demo: UBBParser

Mutiny answered 18/10, 2012 at 14:8 Comment(0)
A
-1

If you can install a PECL extension, you will be able to use the BBCode functions

Anthropometry answered 25/5, 2011 at 17:42 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.