diff --git a/ecrire/inc_index.php3 b/ecrire/inc_index.php3
index 29b51c3ec3fbc5a119e4840d0a0313761b87c1b8..59e969b39775ccbf14c872d51fa3305c4f5ad3c2 100644
--- a/ecrire/inc_index.php3
+++ b/ecrire/inc_index.php3
@@ -18,7 +18,7 @@ define("_ECRIRE_INC_INDEX", "1");
 
 function separateurs_indexation($requete = false) {
 	// Merci a Herve Lefebvre pour son apport sur cette fonction
-	$liste = "],:;*\"!\r\n\t\\/){}[|@<>$%";
+	$liste = "],:;*\"!\r\n\t\\/)}{[|@<>$%";
 
 	// pour autoriser les recherches en vietnamien,
 	// ne pas eliminer les accents de translitteration
diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3
index 08c38c0bde31c52f5c768e7ecf4a10bccc1c8df4..e03c7266632f532c7a9c14d43e7aa3f5d42bcb94 100644
--- a/ecrire/inc_texte.php3
+++ b/ecrire/inc_texte.php3
@@ -330,7 +330,7 @@ function couper($texte, $taille=50) {
 	$texte = ereg_replace("\[\[([^]]|\][^]])*\]\]", "", $texte);
 
 	// supprimer les codes typos
-	$texte = ereg_replace("[{}]", "", $texte);
+	$texte = ereg_replace("[}{]", "", $texte);
 
 	// supprimer les tableaux
 	$texte = ereg_replace("(^|\r)\|.*\|\r", "\r", $texte);
diff --git a/inc-calcul-outils.php3 b/inc-calcul-outils.php3
index deb8473d88cf7c4caf0ee708619fae1bbfaa9651..999da8e5b344af8bd7f3cb7e56a4945cef7c50e9 100644
--- a/inc-calcul-outils.php3
+++ b/inc-calcul-outils.php3
@@ -281,7 +281,7 @@ function calcule_logo_document($id_document, $doubdoc, &$doublons, $flag_fichier
 	}
 
 	// taille maximum [(#LOGO_DOCUMENT{300,52})]
-	list($x,$y) = split(',', ereg_replace("[{}]", "", $params)); 
+	list($x,$y) = split(',', ereg_replace("[}{]", "", $params)); 
 
 
 	if ($logo AND @file_exists($logo)) {
diff --git a/inc-criteres.php3 b/inc-criteres.php3
index a1a0e443497fc4738f1b969a26d67184f859e480..85a4b53a698508e5bf72df6e05b8fc91b31732ea 100644
--- a/inc-criteres.php3
+++ b/inc-criteres.php3
@@ -358,7 +358,7 @@ function calculer_critere_DEFAUT($idb, &$boucles, $param, $not) {
 	$primary = $boucle->primary;
 	$id_field = $id_table . '.' . $primary; 
 
-	if (ereg('^([0-9a-zA-Z#_{}-]+)([,/])([0-9a-zA-Z#_{}-]+)$', $param, $match))
+	if (ereg('^([0-9a-zA-Z#_}{-]+)([,/])([0-9a-zA-Z#_}{-]+)$', $param, $match))
 	  calculer_critere_parties($idb, $boucles, $param, $not, $match);
 
 		// Restriction de valeurs (implicite ou explicite)
diff --git a/inc-html-squel.php3 b/inc-html-squel.php3
index 8d0c8815ceef6645611098e4f0270f0a7448d8c6..93e405135073d08ac220d02c9a20beb8a620cac1 100644
--- a/inc-html-squel.php3
+++ b/inc-html-squel.php3
@@ -23,7 +23,7 @@ define("_INC_HTML_SQUEL", "1");
 define('NOM_DE_BOUCLE', "[0-9]+|[-_][-_.a-zA-Z0-9]*");
 define('NOM_DE_CHAMP', "#((" . NOM_DE_BOUCLE . "):)?([A-Z_]+)(\*?)");
 define('CHAMP_ETENDU', '\[([^]\[]*)\(' . NOM_DE_CHAMP . '([^[)]*\)[^]\[]*)\]');
-define('PARAM_DE_BOUCLE','[[:space:]]*[{][[:space:]]*([^{}]*([{][^}]*[}][^}]*)*)[[:space:]]*[}]');
+define('PARAM_DE_BOUCLE','[[:space:]]*[{][[:space:]]*([^}{]*([{][^}]*[}][^}]*)*)[[:space:]]*[}]');
 define('TYPE_DE_BOUCLE', "[^)]*");
 define('BALISE_DE_BOUCLE',
 	"^<BOUCLE(" .
@@ -178,7 +178,7 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) {
 		else if ($args[0] == "'")
 			ereg ("^(')([^']*)(')(.*)$", $args, $regs);
 		else
-			ereg("^( *)([^,{}]*({[^{}]*[}][^,{}]*)*[^,}]*)([,}$fin].*)$", $args, $regs);
+			ereg("^( *)([^,}{]*({[^}{]*[}][^,}{]*)*[^,}]*)([,}$fin].*)$", $args, $regs);
 
 		$args = ltrim($regs[count($regs)-1]);
 		$arg = $regs[2];
@@ -293,7 +293,7 @@ function phraser_param($params, &$result) {
 		else { 
 		  $params2[] = ($param == 'unique') ? 'doublons' :$param;
 		  /* pour bientot
-		   if (ereg('^([0-9a-zA-Z#_{}-]+)([,/])([0-9a-zA-Z#_{}-]+)$', $param, $match))
+		   if (ereg('^([0-9a-zA-Z#_}{-]+)([,/])([0-9a-zA-Z#_}{-]+)$', $param, $match))
 			  $args['parties'] = $match;
 			else if (eregi('^(`?[a-z_]+\(?[a-z_]*\)?`?) *(\??)(!?)(<=?|>=?|==?|IN) *"?([^<>=!"]*)"?$', $param, $match))
 			  $args['comparaison'] = $match;