Changeset 79946 in spip-zone


Ignore:
Timestamp:
Jan 9, 2014, 7:33:47 PM (7 years ago)
Author:
fil@…
Message:
  1. accepter H2 comme h3 comme intertitre
  2. traiter les liens http (pas les liens relatifs, on les ignore)
  3. conserver les BR
File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/cairn/cairn/article_fonctions.php

    r79574 r79946  
    4141        if (!strlen(trim($texte))) return '';
    4242
    43         $sections = preg_split('/<h3\b[^>]*>/i', $texte);
     43        $sections = preg_split('/<h[23]\b[^>]*>/i', $texte);
    4444
    4545        $t = array_shift($sections);
     
    7474        $texte = preg_replace(',</(ol|ul)\b[^>]*>,iS', '$0</p>', $texte);
    7575
    76         $texte = preg_replace(',<br\b[^>]*>,iS', "\n", $texte);
     76        // sauts de ligne
     77        $texte = preg_replace(',<br\b[^>]*>,iS', _CHEVRONA."br /"._CHEVRONB."\n", $texte);
     78
     79        // liens a href
     80        foreach (extraire_balises($texte, 'a') as $l) {
     81                if (preg_match('/^http/', extraire_attribut($l, 'href'))) {
     82                        $lien = preg_replace(',<a,i', "<liensimple", $l);
     83                        $lien = str_replace('href=', "xlink:href=", $lien);
     84                        $lien = preg_replace(',</a,i', "</liensimple", $lien);
     85                        $lien = str_replace(array('<','>'), array(_CHEVRONA, _CHEVRONB), $lien);
     86                        $texte = str_replace($l, $lien, $texte);
     87                }
     88        }
    7789
    7890        $paragraphes = preg_split('/<p\b[^>]*>/i', $texte);
Note: See TracChangeset for help on using the changeset viewer.