// retours à la ligne avec \\
MiniWiki::Markup("/\\\\(?".">(\\\\*))\n/e", "str_repeat('<br />\n',mb_strlen('$1'))", "str_repeat('\n',mb_strlen('$1'))", "ligne1\\\\\nligne2");
+ // || Tables
+ MiniWiki::Markup("/((^|\n)\|\|(([^\n]*(\n|$))(\|\|[^\n]*(\n|$))*))/se",
+ "'</p><table class=\"tinybicol\">'
+ . str_replace(\"\n\", '', str_replace('||', '</td><td>', preg_replace(\"/\|\|($|\\n)/\", '</td></tr>\n', preg_replace(\"/(^|\\n)\|\|/\", '\n<tr><td>', '$1'))))
+ . '</table><p>'",
+ "str_replace('||', '|', '$1')",
+ "||ligne1 colonne1||ligne1 colonne2||\n||ligne2 colonne1||ligne2 colonne2||");
+
// * unordered list
MiniWiki::Markup("/(^|\n)\*(([^\n]*(\n|$))(\*[^\n]*(\n|$))*)/se",
"'</p><ul><li>'.str_replace(\"\\n*\",'</li><li>','$2').'</li></ul><p>'",
// links
MiniWiki::Markup('/((?:https?|ftp):\/\/(?:[\.\,\;\!\:]*[\w@~%$£µ&i#\-+=_\/\?])*)/ui',
'<a href="\\0">\\0</a>', '<\\0>');
- MiniWiki::Markup('/(\s|^|\\[\\[)www\.((?:[\.\,\;\!\:]*[\w@~%$£µ&i#\-+=_\/\?])*)/iu',
+ MiniWiki::Markup('/(\s|^|\[\[)www\.((?:[\.\,\;\!\:]*[\w@~%$£µ&i#\-+=_\/\?])*)/iu',
'\\1<a href="http://www.\\2">www.\\2</a>', '\\1<http://www.\\2>');
MiniWiki::Markup('/(?:mailto:)?([a-z0-9.\-+_]+@([\-.+_]?[a-z0-9])+)/i', '<a href="mailto:\\0">\\0</a>', '<\\0>');
- MiniWiki::Markup('/\\[\\[\\s*<(?:a href=")?([^>]*)(?:">.*<\/a)?>\\s*\|([^\\]]+)\\]\\]/i',
+ MiniWiki::Markup('/\[\[\s*<(?:a href=")?([^">]*?)(?:">.*?<\/a)?>\s*\|([^\]]+)\]\]/i',
'<a href="\\1">\\2</a>', '\\2 <\\1>',
"[[http://www.example.com|Mon site web]]\n\nhttp://www.example.com\n\ntest@example.com");
MiniWiki::Markup("/\n\n/", '</p><p>', "\n\n", "paragraphe1\n\nparagraphe2");
MiniWiki::Markup("/\n/", ' ', "\n");
MiniWiki::Markup("/^.*<\/p>.*<p>.*$/s", "<p>$0</p>", "$0");
+
+ // french typo rules, unbreakable spaces
+ MiniWiki::Markup("/ +([!?:;])/", " $1", "$0");
}
public static function WikiToHTML($wiki, $title = false)