diff --git a/inc-html-squel.php3 b/inc-html-squel.php3
index 10fa80dde92e3725abda491ea46ce259c75673e5..a9dc3a8fe31c9caf12174cd409a516f89ea60d14 100644
--- a/inc-html-squel.php3
+++ b/inc-html-squel.php3
@@ -179,12 +179,13 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) {
 	$args = ltrim(substr($suite,1)); 
 	$collecte = array();
 	while ($args && $args[0] != '}') {
+
 		if ($args[0] == '"')
 			preg_match ('/^(")([^"]*)(")(.*)$/ms', $args, $regs);
 		else if ($args[0] == "'")
 			preg_match ("/^(')([^']*)(')(.*)$/ms", $args, $regs);
 		else {
-		  preg_match("/^([[:space:]]*)([^,}]*)([,}$fin].*)$/ms", $args, $regs);
+		  preg_match("/^([[:space:]]*)([^$fin,([{}]*([(\[{][^])}]*[])}])?[^$fin,}]*)([,}$fin].*)$/ms", $args, $regs);
 		  if (!strlen($regs[2]))
 		    {
 		      erreur_squelette(_T('zbug_info_erreur_squelette'), $args);