Changeset 49183 in spip-zone


Ignore:
Timestamp:
Jun 29, 2011, 8:42:21 PM (10 years ago)
Author:
jluc@…
Message:

Meilleure gestion des liens dans les courriers au format 'texte'

Location:
_plugins_/spip-lettres
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/spip-lettres/spip-lettres-200/lettres_fonctions.php

    r49182 r49183  
    155155                return str_replace ('pouremail', 'invisiblepournavigateur', $html);
    156156        };
    157        
     157
     158// pour le format texte les liens html sont transformés de manière à avoir à la fois le texte
     159// et le lien clicable à la suite, entre parenthèse.
     160// Si le texte du lien est déjà une url ou y ressemble fort, on ne met que l'url
     161        function prepare_format_texte_lien($matches) {
     162                if ((strpos($matches[1], 'http:')===0)
     163                        or (strpos($matches[1], 'www.')===0))
     164                        return $matches[2];
     165                else return $matches[1]." ( ".$matches[1]." )";
     166        };
    158167        function prepare_format_texte ($html) {
    159168                $pat = "!<a[^>]+href\s*=\s*['\"]([^'\"]*)['\"][^>]*>([^<]*)<\/a>!i";
    160                 return textebrut (preg_replace ($pat, "$2 ( $1 )", $html));
     169                return textebrut (preg_replace_callback ($pat, 'prepare_format_texte_lien', $html));
    161170        };
    162171       
  • _plugins_/spip-lettres/trunk/lettres_fonctions.php

    r49181 r49183  
    155155                return str_replace ('pouremail', 'invisiblepournavigateur', $html);
    156156        };
    157        
     157
     158// pour le format texte les liens html sont transformés de manière à avoir à la fois le texte
     159// et le lien clicable à la suite, entre parenthèse.
     160// Si le texte du lien est déjà une url ou y ressemble fort, on ne met que l'url
     161        function prepare_format_texte_lien($matches) {
     162                if ((strpos($matches[1], 'http:')===0)
     163                        or (strpos($matches[1], 'www.')===0))
     164                        return $matches[2];
     165                else return $matches[1]." ( ".$matches[1]." )";
     166        };
    158167        function prepare_format_texte ($html) {
    159168                $pat = "!<a[^>]+href\s*=\s*['\"]([^'\"]*)['\"][^>]*>([^<]*)<\/a>!i";
    160                 return textebrut (preg_replace ($pat, "$2 ( $1 )", $html));
     169                return textebrut (preg_replace_callback ($pat, 'prepare_format_texte_lien', $html));
    161170        };
    162171       
Note: See TracChangeset for help on using the changeset viewer.