]> ruin.nu Git - ndwebbie.git/blobdiff - ND/Web/Include.pm
output original text, if it can't be parsed
[ndwebbie.git] / ND / Web / Include.pm
index 9206ba489cf5947e2149ccd4e82f5bfea1b2d08c..bdeb350f58a7f8a48945226a84fe8a0f49c48995 100644 (file)
 
 package ND::Web::Include;
 use strict;
-use warnings FATAL => 'all';
+use warnings;
 use CGI qw{:standard};
 require Exporter;
+use BBCode::Parser;
 
 our @ISA = qw/Exporter/;
 
@@ -63,8 +64,18 @@ sub isTech {
 sub parseMarkup {
        my ($text) = @_;
 
-       $text =~ s{\n}{\n<br/>}g;
-       $text =~ s{\[B\](.*?)\[/B\]}{<b>$1</b>}gi;
+       #$text =~ s{\n}{\n<br/>}g;
+       #$text =~ s{\[B\](.*?)\[/B\]}{<b>$1</b>}gi;
+       #$text =~ s{\[I\](.*?)\[/I\]}{<i>$1</i>}gi;
+       #$text =~ s{\[url\](.*?)\[/url\]}{<a href="$1">$1</a>}gi;
+       #$text =~ s{\[PRE\](.*?)\[/PRE\]}{<pre>$1</pre>}sgi;
+       #$text =~ s{\[PRE\](.*?)\[/PRE\]}{<pre>$1</pre>}sgi;
+       #$1 =~ s{<br/>}{}g;
+
+       eval{
+               my $tree = BBCode::Parser->DEFAULT->parse($text);
+               $text = $tree->toHTML;
+       };
        return $text;
 }