From 325c883c73478a70044d5c961e5d77337cb81911 Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Mon, 6 Nov 2006 16:05:03 +0000 Subject: [PATCH] ajoute une regle typo sur les pourcentage (espace % suivi de caracteres 'non mots' prend un insecable) ; corrige aussi le probleme #654 sur hreflang, et fait quelques calimeros pour alleger un peu les preg_match --- ecrire/inc/texte.php | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php index fd9e6fba8e..7f8fd42972 100644 --- a/ecrire/inc/texte.php +++ b/ecrire/inc/texte.php @@ -487,10 +487,10 @@ function typo_fr($letexte) { $letexte = strtr($letexte, $trans); $cherche1 = array( - /* 1 */ '/((^|[^\#0-9a-zA-Z\&])[\#0-9a-zA-Z]*)\;/S', - /* 2 */ '/»| --?,|:([^0-9]|$)/S', + /* 1 */ '/((?:^|[^\#0-9a-zA-Z\&])[\#0-9a-zA-Z]*)\;/S', + /* 2 */ '/»| --?,|(?::| %)(?:\W|$)/S', /* 3 */ '/([^[<!?])([!?])/S', - /* 4 */ '/«|(M(M?\.|mes?|r\.?)|[MnN]°) /S' + /* 4 */ '/«|(?:M(?:M?\.|mes?|r\.?)|[MnN]°) /S' ); $remplace1 = array( /* 1 */ '\1~;', @@ -1161,12 +1161,22 @@ function traiter_raccourci_lien($regs) { if ($m[2]) $bulle = ' title="'.texte_backend($m[3]).'"'; // {hreflang} ? - if ($m[4]) - $hlang = $m[5]; + if ($m[4]) { + // si c'est un code de langue connu, on met un hreflang + include_spip('inc/lang'); + if (traduire_nom_langue($m[5]) <> $m[5]) { + $hlang = $m[5]; + } + // sinon c'est un italique + else { + $m[1] .= '{'.$m[3].'}'; + } + } // S'il n'y a pas de hreflang sous la forme {}, ce qui suit le | // est peut-etre une langue else if (preg_match(',^[a-z_]+$,', $m[3])) { // si c'est un code de langue connu, on met un hreflang + // mais on laisse le title (c'est arbitraire tout ca...) include_spip('inc/lang'); if (traduire_nom_langue($m[3]) <> $m[3]) { $hlang = $m[3]; -- GitLab