Changeset 111261 in spip-zone


Ignore:
Timestamp:
Aug 3, 2018, 1:43:45 PM (3 years ago)
Author:
erational@…
Message:

Introduction d'une constante expérimentale qui permet le laisser certains tags dans les liens de la table des matières
Pour l'instant, on garde uniquement les tags suivants: i, strong, sub, sup

Pour activer cette option, ajouter la ligne suivante dans mes_options.php
define('_INTERTITRES_TDM_PRESERVER_TAGS_TYPO', true);

Location:
_plugins_/intertitres_hierarchises_et_table_matieres/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/intertitres_hierarchises_et_table_matieres/trunk/intertitres_tdm_options.php

    r105463 r111261  
    137137                }
    138138                $titre = $matches[3+$ajout][$j];
    139                 $titre_lien = trim(strip_tags($matches[0][$j]));
     139                if (!defined('_INTERTITRES_TDM_PRESERVER_TAGS_TYPO')) {
     140                        // traitement standard: on supprime tous les tags sur les titres de la table des matieres
     141                        $titre_lien = strip_tags($matches[0][$j]);
     142                } else {
     143                        // traitement expérimental: preserver certains tags dans  la table des matieres
     144                        $titre_lien = intertitre_tdm_preserver_tags_typo($matches[0][$j]);
     145                }
    140146
    141147                // Si tableseule alors on vire les <a id=''></a> des titres
     
    374380        return ($ancre_calcule);
    375381}
     382
     383/**
     384 * Supprimer les tags d'une chaine en conservant certains tags typos
     385 *
     386 * @param string $str
     387 * @return string $str
     388 */
     389function intertitre_tdm_preserver_tags_typo($str) {
     390    // passe 1: on echappe les tags autorisés: i, strong, sub, sup
     391        $pattern = "(i|strong|sub|sup|\/i|\/strong|\/sub|\/sup)";
     392    $str = preg_replace('/<'.$pattern.'/', "ßß$1" , $str);
     393    $str = preg_replace('/'.$pattern.'>/', "$1γγ", $str);
     394
     395        // on vire les autres tags
     396    $str = trim(strip_tags($str));
     397
     398        // on retablit les tags echappés
     399    $str = preg_replace('/ßß'.$pattern.'/', "<$1", $str);
     400    $str = preg_replace('/'.$pattern.'γγ/', "$1>", $str);
     401
     402        return $str;
     403}
  • _plugins_/intertitres_hierarchises_et_table_matieres/trunk/intertitres_tdm_pipelines.php

    r97703 r111261  
    2727
    2828function IntertitresTdm_post_propre($texte) {
     29        include_spip('intertitres_tdm_fonctions');
     30    include_spip('intertitres_tdm_options');
     31
    2932        //le second paramètre est vide, c'est à dire qu'on n'affiche pas la table seule.
    3033        $new_texte = IntertitresTdm_table_des_matieres($texte);
  • _plugins_/intertitres_hierarchises_et_table_matieres/trunk/lang/itdm.xml

    r111260 r111261  
    1 <traduction module="itdm" gestionnaire="salvatore" url="https://trad.spip.net" source="svn://zone.spip.org/spip-zone/_plugins_/intertitres_hierarchises_et_table_matieres/trunk/lang" reference="fr">
     1<traduction module="itdm" gestionnaire="salvatore" url="https://trad.spip.net" source="svn://zone.spip.org/spip-zone/_plugins_/intertitres_hierarchises_et_table_matieres/trunk/lang/" reference="fr">
    22        <langue code="fr" url="https://trad.spip.net/tradlang_module/itdm?lang_cible=fr" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
    33        </langue>
  • _plugins_/intertitres_hierarchises_et_table_matieres/trunk/lang/paquet-intertitrestdm_fr.php

    r111260 r111261  
    33// Ceci est un fichier langue de SPIP -- This is a SPIP language file
    44
    5 // Fichier produit par PlugOnet
    6 // Module: paquet-intertitrestdm
    7 // Langue: fr
    8 // Date: 03-08-2018 12:10:04
    9 // Items: 2
    105
    11 if (!defined('_ECRIRE_INC_VERSION')) return;
     6if (!defined('_ECRIRE_INC_VERSION')) {
     7        return;
     8}
    129
    1310$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    1714        'intertitrestdm_slogan' => 'Générer automatiquement une table des matières',
    1815);
    19 ?>
  • _plugins_/intertitres_hierarchises_et_table_matieres/trunk/paquet.xml

    r111260 r111261  
    22        prefix="IntertitresTdm"
    33        categorie="edition"
    4         version="0.9.13"
     4        version="0.9.14"
    55        etat="test"
    66        compatibilite="[1.9.0;3.2.*]"
     
    99>       
    1010
    11         <nom>Intertitres hi&#233;rarchis&#233;s et table des mati&#232;res</nom>
     11        <nom>Intertitres hiérarchisés et table des matières</nom>
    1212        <!-- Générer automatiquement une table des matières -->
    1313
  • _plugins_/intertitres_hierarchises_et_table_matieres/trunk/plugin.xml

    r111260 r111261  
    22        <nom>Intertitres hi&#233;rarchis&#233;s et table des mati&#232;res</nom>
    33        <slogan>G&#233;n&#233;rer automatiquement une table des mati&#232;res</slogan>
    4         <version>0.9.13</version>
     4        <version>0.9.14</version>
    55        <prefix>IntertitresTdm</prefix>
    66        <etat>test</etat>
Note: See TracChangeset for help on using the changeset viewer.