diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php index 641759e091e0478fedb6f2d02c03af3e4b0466bf..0f72c240b88196b72419cd16c40e73c401b62f05 100644 --- a/ecrire/inc/texte.php +++ b/ecrire/inc/texte.php @@ -1059,10 +1059,13 @@ function traiter_raccourci_glossaire($letexte) // faire sauter l'eventuelle partie "|bulle d'aide" du lien // cf. http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Conventions_sur_les_titres $_terme = preg_replace(',[|].*,', '', $_terme); + include_spip('inc/charsets'); + $_terme = rawurlencode(unicode2charset(charset2unicode($_terme), 'utf-8')); if ($subst) - $url = str_replace("%s", rawurlencode($_terme), $glosateur); - else $url = $glosateur. $_terme; + $url = str_replace("%s", $_terme, $glosateur); + else + $url = $glosateur. $_terme; list($terme, $bulle, $hlang) = traiter_raccourci_lien_atts($terme); $url = traiter_raccourci_lien_lang($url, 'spip_glossaire', $terme, $hlang, '', $bulle); $letexte = str_replace($tout, $url, $letexte); @@ -1086,6 +1089,8 @@ define('_RACCOURCI_LIEN', ",\[([^][]*?([[]\w*[]][^][]*)*)->(>?)([^]]*)\],msS"); // http://doc.spip.org/@expanser_liens function expanser_liens($letexte, $connect='') { + $letexte = pipeline('pre_liens', $letexte); + $inserts = array(); if (preg_match_all(_RACCOURCI_LIEN, $letexte, $matches, PREG_SET_ORDER)) { $i = 0; @@ -1108,26 +1113,6 @@ function expanser_liens($letexte, $connect='') return $letexte; } -/* -// Inserer un lien a partir du preg_match du raccourci [xx->url] -// Le preg-match a change, cette fonction est inutilisable -// $regs: -// 0=>tout le raccourci -// 1=>texte (ou texte|hreflang ou texte|bulle ou texte|bulle{hreflang}) -// 2=>double fleche (historiquement, liens ouvrants) -// 3=>url - -// http://doc.spip.org/@traiter_raccourci_lien -function traiter_raccourci_lien($regs, $connect='') { - - list(,$texte, ,$url) = $regs; - list($texte, $bulle, $hlang) = traiter_raccourci_lien_atts($texte); - list ($lien, $class, $texte, $lang) = - calculer_url($url, $texte, 'tout', $connect); - return traiter_raccourci_lien_lang($lien, $class, $texte, $hlang, $lang, $bulle, $connect); -} -*/ - // http://doc.spip.org/@traiter_raccourci_lien_lang function traiter_raccourci_lien_lang($lien, $class, $texte, $hlang, $lang, $bulle, $connect='') { diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index 0c481ec3e2610550d8ae9385d27c463db6845955..64bcebbbea28435ee5d804afe839892c426a689d 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -232,8 +232,8 @@ $spip_pipeline = array( 'nettoyer_raccourcis_typo' => '', 'pre_boucle' => '', 'post_boucle' => '', - 'pre_propre' => '|extraire_multi|traiter_poesie|traiter_retours_chariots - |traiter_raccourci_liens|traiter_raccourci_glossaire + 'pre_propre' => '|extraire_multi|traiter_poesie|traiter_retours_chariots', + 'pre_liens' => '|traiter_raccourci_liens|traiter_raccourci_glossaire |traiter_raccourci_ancre', 'post_propre' => '', 'pre_typo' => '|extraire_multi',