Changeset 65476 in spip-zone


Ignore:
Timestamp:
Sep 3, 2012, 2:26:27 PM (7 years ago)
Author:
cedric@…
Message:

Correction marginale sur la substitution de <? pour eviter vraiment tout risque de collision avec du vrai contenu d'une page du site

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spipdf/spipdf.php

    r65475 r65476  
    391391                // On échappe les suites de caractères <? pour éviter des erreurs d'évaluation PHP (seront remis en place avec affichage_final)
    392392                // l'erreur d'évaluation est liée à la directive short_open_tag=On dans la configuration de PHP
    393                 if (!empty($echap_special_pdf_chars)){
    394                         $flux['data']['texte'] = preg_replace('/<\?/', '<§§§§§>', $flux['data']['texte']);
     393                if (!empty($echap_special_pdf_chars)
     394                  AND strpos($flux['data']['texte'],"<"."?")!==false){
     395                        $flux['data']['texte'] = str_replace("<"."?", "<\2\2?", $flux['data']['texte']);
    395396                }
    396397
     
    401402}
    402403
    403 // On rétablit les <? du code PDF
     404/**
     405 * On rétablit les <? du code PDF si necessaire
     406 * on n'agit que sur les pages non html
     407 *
     408 * @param string $texte
     409 * @return string
     410 */
    404411function spipdf_affichage_final($texte){
    405         return preg_replace('/<§§§§§>/', '<?', $texte);
     412        if ($GLOBALS['html']==false
     413                AND strpos($texte,"<\2\2?")!==false){
     414                $texte = str_replace("<\2\2?", "<"."?", $texte);
     415        }
     416        return $texte;
    406417}
    407418
Note: See TracChangeset for help on using the changeset viewer.