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