| Current Path : /home/quelfutuu/www/plugins/auto/couteau_suisse/v1.17.0/outils/ |
| Current File : /home/quelfutuu/www/plugins/auto/couteau_suisse/v1.17.0/outils/guillemets.php |
<?php
// integration 2007 : Patrice Vanneufville
// Toutes les infos sur : https://contrib.spip.net/?article1592
/*
Fichier de formatage typographique des guillemets, par Vincent Ramos
<www-lansargues AD kailaasa POINT net>, sous licence GNU/GPL.
Ne sont touchees que les paires de guillemets.
Le formatage des guillemets est tire de
<http://en.wikipedia.org/wiki/Quotation_mark%2C_non-English_usage>
Certains des usages indiques ne correspondent pas a ceux que la
barre d'insertion de caracteres speciaux de SPIP propose.
Les variables suivies du commentaire LRTEUIN sont confirmees par le
_Lexique des regles typographiques en usage a l'Imprimerie nationale_.
Les variables entierement commentees sont celles pour lesquelles
aucune information n'a ete trouvee. Par defaut, les guillements sont alors
de la forme “mot”, sauf si la barre d'insertion de SPIP proposait
deja une autre forme.
*/
// voir aussi : http://trac.rezo.net/trac/spip/changeset/9429
// definitions des chaines de remplacement
define('_GUILLEMETS_defaut', '“$1”');
define('_GUILLEMETS_fr', '« $1 »'); //LRTEUIN
//define('_GUILLEMETS_ar', '');
define('_GUILLEMETS_bg', '„$1“');
//define('_GUILLEMETS_br', '');
//define('_GUILLEMETS_bs', '');
define('_GUILLEMETS_ca', '«$1»');
define('_GUILLEMETS_cpf', '« $1 »');
//define('_GUILLEMETS_cpf_hat', '');
define('_GUILLEMETS_cs', '„$1“');
define('_GUILLEMETS_da', '»$1«');
define('_GUILLEMETS_de', '„$1“'); //ou "»$1«" // LRTEUIN
define('_GUILLEMETS_en', '“$1”'); //LRTEUIN
define('_GUILLEMETS_eo', '«$1»');
define('_GUILLEMETS_es', '«$1»');
//define('_GUILLEMETS_eu', '');
//define('_GUILLEMETS_fa', '');
//define('_GUILLEMETS_fon', '');
//define('_GUILLEMETS_gl', '');
define('_GUILLEMETS_hu', '„$1”');
define('_GUILLEMETS_it', '«$1»');
define('_GUILLEMETS_it_fem', '«$1»');
define('_GUILLEMETS_ja', '「$1」');
//define('_GUILLEMETS_lb', '');
define('_GUILLEMETS_nl', '„$1”');
//define('_GUILLEMETS_oc_auv', '');
//define('_GUILLEMETS_oc_gsc', '');
//define('_GUILLEMETS_oc_lms', '');
//define('_GUILLEMETS_oc_lnc', '');
//define('_GUILLEMETS_oc_ni', '');
//define('_GUILLEMETS_oc_ni_la', '');
//define('_GUILLEMETS_oc_prv', '');
//define('_GUILLEMETS_oc_va', '');
define('_GUILLEMETS_pl', '„$1”');
define('_GUILLEMETS_pt', '«$1»');
define('_GUILLEMETS_pt_br', '«$1»');
define('_GUILLEMETS_ro', '„$1”');
define('_GUILLEMETS_ru', '«$1»');
define('_GUILLEMETS_tr', '«$1»');
//define('_GUILLEMETS_vi', '');
define('_GUILLEMETS_zh', '「$1」'); // ou "“$1”" en chinois simplifie
function typo_guillemets_echappe_balises_callback($matches) {
return cs_code_echappement($matches[1], 'GUILL');
}
function typo_guillemets_rempl($texte){
// on s'en va si pas de guillemets...
if (strpos($texte, '"')===false) return $texte;
// prudence : on protege TOUTES les balises contenant des doubles guillemets droits
if (strpos($texte, '<')!==false)
$texte = preg_replace_callback('/(<[^>]+"[^>]*>)/Ums', 'typo_guillemets_echappe_balises_callback', $texte);
// $texte = preg_replace('/(<[^>]+"[^>]*>)/Umse', 'cs_code_echappement("\\1", "GUILL")', $texte);
;
// choix de la langue, de la constante et de la chaine de remplacement
$lang = isset($GLOBALS['lang_objet'])?$GLOBALS['lang_objet']:$GLOBALS['spip_lang'];
$constante = '_GUILLEMETS_'.$lang;
$guilles = defined($constante)?constant($constante):_GUILLEMETS_defaut;
// Remplacement des autres paires de guillemets (et suppression des espaces apres/avant)
// Et retour des balises contenant des doubles guillemets droits
return echappe_retour(preg_replace('/"\s*(.*?)\s*"/', $guilles, $texte), 'GUILL');
}
function typo_guillemets($texte){
if (strpos($texte, '"')===false) return $texte;
return cs_echappe_balises('|cite|acronym', 'typo_guillemets_rempl', $texte);
}
?>