|
|
- <?php
- // Project: Web Reference Database (refbase) <http://www.refbase.net>
- // Copyright: Matthias Steffens <mailto:refbase@extracts.de> 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_unicode_refbase.inc.php
- // Repository: $HeadURL$
- // Author(s): Matthias Steffens <mailto:refbase@extracts.de>
- //
- // Created: 11-Jun-08, 13:00
- // Modified: $Date: 2008-06-19 17:56:34 +0000 (Thu, 19 Jun 2008) $
- // $Author$
- // $Revision: 1146 $
-
- // Search & replace patterns and functions for conversion from Unicode entities to refbase markup.
- // Search & replace patterns must be specified as perl-style regular expression and search patterns must include the leading & trailing slashes.
-
- $transtab_unicode_refbase = array(
-
- '/‰|/' => "[permil]", // ‰: <U2030> (per mille sign); : ?
- '/∞/' => "[infinity]", // <U221E> (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]",
- "/((?:¹|²|³|⁴|⁵|⁶|⁷|⁸|⁹|⁰|⁺|⁻|⁼|⁽|⁾|ⁿ)+)/ie" => "unicodeSuperScriptToRefbase('\\1')", // function 'unicodeSuperScriptToRefbase()' will convert Unicode superscript entities to appropriate refbase superscript markup
- "/((?:₁|₂|₃|₄|₅|₆|₇|₈|₉|₀|₊|₋|₌|₍|₎)+)/ie" => "unicodeSubScriptToRefbase('\\1')", // function 'unicodeSubScriptToRefbase()' will convert Unicode subscript entities to appropriate refbase subscript markup
- // Note that, when matching superscript or subscript Unicode characters, we cannot use the double-byte characters within character classes
- // (like [¹²³⁴⁵⁶⁷⁸⁹⁰⁺⁻⁼⁽⁾ⁿ] or ([₁₂₃₄₅₆₇₈₉₀₊₋₌₍₎]) since this may cause the single-byte parts of these characters to be matched and replaced as well!
-
- );
-
-
- $unicodeSuperScriptSearchReplaceActionsArray = array(
-
- '/¹/' => "1", // <U00B9> (superscript one)
- '/²/' => "2", // <U00B2> (superscript two)
- '/³/' => "3", // <U00B3> (superscript three)
- '/⁴/' => "4", // <U2074> (superscript four)
- '/⁵/' => "5", // <U2075> (superscript five)
- '/⁶/' => "6", // <U2076> (superscript six)
- '/⁷/' => "7", // <U2077> (superscript seven)
- '/⁸/' => "8", // <U2078> (superscript eight)
- '/⁹/' => "9", // <U2079> (superscript nine)
- '/⁰/' => "0", // <U2070> (superscript zero)
- '/⁺/' => "+", // <U207A> (superscript plus sign)
- '/⁻/' => "-", // <U207B> (superscript minus)
- '/⁼/' => "=", // <U207C> (superscript equals sign)
- '/⁽/' => "(", // <U207D> (superscript left parenthesis)
- '/⁾/' => ")", // <U207E> (superscript right parenthesis)
- '/ⁿ/' => "n", // <U207F> (superscript latin small letter n)
-
- );
-
-
- $unicodeSubScriptSearchReplaceActionsArray = array(
-
- '/₁/' => "1", // <U2081> (subscript one)
- '/₂/' => "2", // <U2082> (subscript two)
- '/₃/' => "3", // <U2083> (subscript three)
- '/₄/' => "4", // <U2084> (subscript four)
- '/₅/' => "5", // <U2085> (subscript five)
- '/₆/' => "6", // <U2086> (subscript six)
- '/₇/' => "7", // <U2087> (subscript seven)
- '/₈/' => "8", // <U2088> (subscript eight)
- '/₉/' => "9", // <U2089> (subscript nine)
- '/₀/' => "0", // <U2080> (subscript zero)
- '/₊/' => "+", // <U208A> (subscript plus sign)
- '/₋/' => "-", // <U208B> (subscript minus)
- '/₌/' => "=", // <U208C> (subscript equals sign)
- '/₍/' => "(", // <U208D> (subscript left parenthesis)
- '/₎/' => ")", // <U208E> (subscript right parenthesis)
-
- );
-
- // --------------------------------------------------------------------
-
- // Converts Unicode superscript entities to appropriate refbase superscript markup:
- function unicodeSuperScriptToRefbase($sourceString)
- {
- global $unicodeSuperScriptSearchReplaceActionsArray;
-
- $sourceString = searchReplaceText($unicodeSuperScriptSearchReplaceActionsArray, $sourceString, true); // function 'searchReplaceText()' is defined in 'include.inc.php'
-
- return "[super:" . $sourceString . "]";
- }
-
- // --------------------------------------------------------------------
-
- // Converts Unicode subscript entities to appropriate refbase subscript markup:
- function unicodeSubScriptToRefbase($sourceString)
- {
- global $unicodeSubScriptSearchReplaceActionsArray;
-
- $sourceString = searchReplaceText($unicodeSubScriptSearchReplaceActionsArray, $sourceString, true); // function 'searchReplaceText()' is defined in 'include.inc.php'
-
- return "[sub:" . $sourceString . "]";
- }
- ?>
|