// Copyright: Matthias Steffens and the file's // original author(s). // // This code is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY. Please see the GNU General Public // License for more details. // // File: ./includes/transtab_refbase_markdown.inc.php // Repository: $HeadURL: file:///svn/p/refbase/code/branches/bleeding-edge/includes/transtab_refbase_markdown.inc.php $ // Author(s): Matthias Steffens // // Created: 28-May-06, 18:24 // Modified: $Date: 2008-10-30 17:19:48 +0000 (Thu, 30 Oct 2008) $ // $Author: msteffens $ // $Revision: 1288 $ // Search & replace patterns for conversion from refbase markup to "Markdown" markup & entities. Markdown is a plain text formatting syntax // as well as a software tool that converts the plain text formatting back to HTML; see for more info. // refbase fontshape markup (italic, bold) does not need any conversion since it's identical to (and was in fact modeled after) the Markdown syntax. // Super- and subscript gets converted into HTML commands while greek letters get converted into the respective HTML entity codes. // Search & replace patterns must be specified as perl-style regular expression and search patterns must include the leading & trailing slashes. global $patternModifiers; // defined in 'transtab_unicode_charset.inc.php' and 'transtab_latin1_charset.inc.php' $transtab_refbase_markdown = array( "/__(?!_)(.+?)__/" => "\\1", // the pattern for underline (__...__) must come before the one for italic (_..._) // "/_(.+?)_/" => "_\\1_", // "/\\*\\*(.+?)\\*\\*/" => "**\\1**", "/\\[super:(.+?)\\]/i" => "\\1", "/\\[sub:(.+?)\\]/i" => "\\1", "/\\[permil\\]/" => "‰", "/\\[infinity\\]/" => "∞", "/\\[alpha\\]/" => "α", "/\\[beta\\]/" => "β", "/\\[gamma\\]/" => "γ", "/\\[delta\\]/" => "δ", "/\\[epsilon\\]/" => "ε", "/\\[zeta\\]/" => "ζ", "/\\[eta\\]/" => "η", "/\\[theta\\]/" => "θ", "/\\[iota\\]/" => "ι", "/\\[kappa\\]/" => "κ", "/\\[lambda\\]/" => "λ", "/\\[mu\\]/" => "μ", "/\\[nu\\]/" => "ν", "/\\[xi\\]/" => "ξ", "/\\[omicron\\]/" => "ο", "/\\[pi\\]/" => "π", "/\\[rho\\]/" => "ρ", "/\\[sigmaf\\]/" => "ς", "/\\[sigma\\]/" => "σ", "/\\[tau\\]/" => "τ", "/\\[upsilon\\]/" => "υ", "/\\[phi\\]/" => "φ", "/\\[chi\\]/" => "χ", "/\\[psi\\]/" => "ψ", "/\\[omega\\]/" => "ω", "/\\[Alpha\\]/" => "Α", "/\\[Beta\\]/" => "Β", "/\\[Gamma\\]/" => "Γ", "/\\[Delta\\]/" => "Δ", "/\\[Epsilon\\]/" => "Ε", "/\\[Zeta\\]/" => "Ζ", "/\\[Eta\\]/" => "Η", "/\\[Theta\\]/" => "Θ", "/\\[Iota\\]/" => "Ι", "/\\[Kappa\\]/" => "Κ", "/\\[Lambda\\]/" => "Λ", "/\\[Mu\\]/" => "Μ", "/\\[Nu\\]/" => "Ν", "/\\[Xi\\]/" => "Ξ", "/\\[Omicron\\]/" => "Ο", "/\\[Pi\\]/" => "Π", "/\\[Rho\\]/" => "Ρ", "/\\[Sigma\\]/" => "Σ", "/\\[Tau\\]/" => "Τ", "/\\[Upsilon\\]/" => "Υ", "/\\[Phi\\]/" => "Φ", "/\\[Chi\\]/" => "Χ", "/\\[Psi\\]/" => "Ψ", "/\\[Omega\\]/" => "Ω", "/ +- +/" => " – ", // "/–/$patternModifiers" => "–" // Note that for UTF-8 based systems, '$patternModifiers' contains the "u" (PCRE_UTF8) pattern modifier which should cause PHP/PCRE // to treat pattern strings as UTF-8 (otherwise this conversion pattern would garble UTF-8 characters such as "Ö"). However, the // "–" character still seems to cause PREG compilation errors on some UTF8-based systems, which is why the line has been commented // out (it should work fine for a latin1-based system, though). ); ?>