xref: /plugin/zwidoku/utils.php (revision f82bbc904bd835fc66a3f52ffaef251433904ec2)
1<?php
2/**
3 * ZWIdoku Plugin: Utils
4 *
5 * @license  LGPL 2 (http://www.gnu.org/licenses/gpl.html)
6 * @author   S.Chekanov
7 * @based_on "pageindex" plugin by Kite <Kite@puzzlers.org>
8 * @based_on "externallink" plugin by Otto Vainio <plugins@valjakko.net>
9 * @based_on "pagelist" plugin by Esther Brunner <wikidesign@gmail.com>
10 *
11 */
12
13
14   /**
15         * Returns a TeX compliant version of the specified reference.
16         * @param filename The reference.
17         * @return A TeX compliant version, with no spaces, and no weird char.
18         */
19        function texifyReference($reference) {
20                $patterns[ 0] = '/[áâ�| åä]/ui';
21                $patterns[ 1] = '/[ðéêèë]/ui';
22                $patterns[ 2] = '/[íîìï]/ui';
23                $patterns[ 3] = '/[óôòøõö]/ui';
24                $patterns[ 4] = '/[úûùü]/ui';
25                $patterns[ 5] = '/æ/ui';
26                $patterns[ 6] = '/ç/ui';
27                $patterns[ 7] = '/�~_/ui';
28                $patterns[ 8] = '/\\s/';
29                $patterns[ 9] = '/#/';
30                $patterns[10] = '/[^A-Za-z0-9\\-:]/';
31                $replacements[ 0] = 'a';
32                $replacements[ 1] = 'e';
33                $replacements[ 2] = 'i';
34                $replacements[ 3] = 'o';
35                $replacements[ 4] = 'u';
36                $replacements[ 5] = 'ae';
37                $replacements[ 6] = 'c';
38                $replacements[ 7] = 'ss';
39                $replacements[ 8] = '-';
40                $replacements[ 9] = ':';
41                $replacements[10] = '_';
42
43                return preg_replace($patterns, $replacements, $reference);
44        }
45
46
47?>
48
49