Surligner les résutats d'une regex

Fermé
charles_coiffier - 9 sept. 2008 à 21:45
 charles_coiffier - 10 sept. 2008 à 20:45
bonsoir,

je cherche à réaliser (pour m'entrainer à coder en php et apprendre le fonctionnement des regex) un testeur de regex du style de celui-ci : https://lumadis.be/regex/test_regex.php mais j'ai un problème avec le système de coloration des résultats. le script réussi pour le moment à surligner l'ensemble du texte répondant à l'expression mais je voudrais souligner les éléments répondants aux différentes parenthèses capturantes. pour le moment, les résultat des parenthèses capturantes sont doublés... je ne sais pas si je me fais comprendre, si ce n'est pas le cas je mettrais mon script en ligne. pour le moment voici les fonctions que j'utilise :

function surl($masque){
    return '<span style=\'background-color:yellow;\'>'.$masque[0].'<u>'.$masque[1].'</u></span>';
}

function surligne($pattyp, $pat, $txt){
    switch ($pattyp){
        case 'preg_match':
            $out = preg_replace_callback($pat, 'surl', $txt, 1);
            return $out;
        break;
        case 'preg_match_all':
            $out = preg_replace_callback($pat, 'surl', $txt);
            return $out;
        break;
        
    }

}



merci d'avance.

2 réponses

charles_coiffier
10 sept. 2008 à 01:16
mon problème à changé...

il y a du mieux mais cela reste bancal (voir les deux "le" qui deviennent "lele")...

voir le site :

http://blop.perso.free.fr/regex.php
0
charles_coiffier
10 sept. 2008 à 20:45
un petit up, je me rends compte que j'ai également un problème d'encodage (pourtant tout est en utf-8 (le header php, le meta html et le fichier en lui-même, et j'ai mis un htaccess qui force l'utf-8 à la racine... mais je suis sous free...)

merci d'avance.
0