From f18f4920af03295f9036ed69889e5f4e001ca84b Mon Sep 17 00:00:00 2001 From: x2001corpet Date: Tue, 13 Mar 2007 18:21:41 +0000 Subject: [PATCH] miniwiki class to create quick xhtml git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1568 839d8a87-29fc-0310-9880-83ba4fa771e5 --- classes/miniwiki.php | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 classes/miniwiki.php diff --git a/classes/miniwiki.php b/classes/miniwiki.php new file mode 100644 index 0000000..058607f --- /dev/null +++ b/classes/miniwiki.php @@ -0,0 +1,71 @@ +(\\\\*))\n/e", "str_repeat('
\n',strlen('$1'))", "str_repeat('\\\\n',strlen('$1'))"); + + // bold, italic and others + // ''' bold ''' + MiniWiki::Markup("/'''(.*?)'''/",'$1','*$1*'); + // '' italic '' + MiniWiki::Markup("/''(.*?)''/",'$1','/$1/'); + // '+ big +' + MiniWiki::Markup("/'\\+(.*?)\\+'/",'$1','*$1*'); + // '- small -' + MiniWiki::Markup("/'\\-(.*?)\\-'/",'$1','$1'); + // '^superscript^' + MiniWiki::Markup("/'\\^(.*?)\\^'/",'$1','$1'); + // '_subscript_' + MiniWiki::Markup("/'_(.*?)_'/",'$1','$1'); + // {+ underline +} + MiniWiki::Markup("/{+(.*?)+}/",'$1','_$1_'); + // {- strikeout -} + MiniWiki::Markup("/{-(.*?)-}/",'$1','_$1_'); + // [+ big +] [++ bigger ++] [+++ even bigger +++] ... + MiniWiki::Markup('/\\[(([-+])+)(.*?)\\1\\]/e',"'$3'", "'$3'"); + + // -----
+ MiniWiki::Markup('/(\n|^)----+/s', '$1
', '$1----'); + // titles + MiniWiki::Markup('/(\n|^)(!+)([^\n]*)/se', "'$1$3'", "'$1$3'"); + + // * unordered list + MiniWiki::Markup("/(^|\n)\*(([^\n]*(\n|$))(\*[^\n]*(\n|$))*)/se", "''", "$0"); + // # unordered list + MiniWiki::Markup("/(^|\n)#(([^\n]*(\n|$))(#[^\n]*(\n|$))*)/se", "'
  1. '.str_replace(\"\\n#\",'
  2. ','$2').'
'", "$0"); + + // links + MiniWiki::Markup('/((?:https?|ftp):\/\/(?:\.*,*[\w@~%$£µ&i#\-+=_\/\?;])*)/ui', '\\0', '\\0'); + MiniWiki::Markup('/(\s|^|\\[\\[)www\.((?:\.*,*[\w@~%$£µ&i#\-+=_\/\?;])*)/iu', '\\1www.\\2', 'http://www.\\2'); + MiniWiki::Markup('/(?:mailto:)?([a-z0-9.\-+_]+@([\-.+_]?[a-z0-9])+)/i', '\\0', '\\0'); + MiniWiki::Markup('/\\[\\[\\s*.*<\/a>\\s*\|([^\\]]+)\\]\\]/i', '\\2', '\\2 (\\1)'); + + // paragraphs and empty lines + MiniWiki::Markup("/\n\n/", '

', "\n\n"); + MiniWiki::Markup("/\n/", ' ', "\n"); + MiniWiki::Markup("/^.*<\/p>

.*$/s", "

$0

", "$0"); + } + + public static function WikiToHTML($s) { + return preg_replace(MiniWiki::$patternsWiki, MiniWiki::$replacementHTML, $s); + } +}; + +MiniWiki::init(); +?> -- 2.1.4