Release status: beta
|Description||Wraps certain ranges of characters in defined span tags|
|Author(s)||Nick White (njwtalk)|
|Latest version||0.9 (2013-03-21)|
|Translate the CharRangeSpan extension if it is available at translatewiki.net|
|Check usage and version matrix.|
The CharRangeSpan extension wraps characters in specified ranges in customisable span tags. The main use-case for this is to automatically set the font for certain character sets, for sites which have several languages which need different fonts.
|Hello this is English, τηφσ ισ θοδδω, and back to English again.||Hello this is English, <span lang="grc">τηφσ ισ θοδδω,</span> and back to English again.|
- Download and place the file(s) in a directory called
- An array containing all of the configuration parameters.
- Each set of character ranges can be named anything.
- Contains arrays containing the unicode codepoints of the start and end of character ranges to match.
- The attribute to set for the span tag matching the above ranges.
- Characters which may be included in span, or may not. Each character must be escaped for a PHP regular expression (see the example below). This is useful to avoid ending and starting span tags for common characters for which the font is unimportant, for example spaces and commas.
This is the default configuration. It defines one set of character ranges (Greek), and encloses any such characters in <span lang="grc"> tags.
$wgCharRangeSpanSettings = array( 'grc' => array( 'ranges' => array( array( '0300', '036F' ), /* combining diacritics */ array( '0370', '03FF' ), /* greek */ array( '1F00', '1FFF' ), /* greek extended */ ), 'attrs' => 'lang="grc"', /* sets the attribute for the span */ 'maybeChars' => '\\s\\,\\.\\-', /* characters which may (or may not) be included in span */ ), );
This extension has some unit tests. To run them first install the extension, then from the command line (in the mediawiki directory) run this command:
php tests/parserTests.php --file=extensions/CharRangeSpan/tests/parserTests.txt
Note that the tests rely on the default configuration.