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