surligner les résutats d'une regex

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : surligner les résutats d'une regex

par 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.

par charles_coiffier » 10 sept. 2008, 01:17

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

surligner les résutats d'une regex

par charles_coiffier » 09 sept. 2008, 21:41

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 : lumadis.be... 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.