X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fecrire%2Fpublic%2Fphraser_html.php;h=ea4aca8ec0e8e870af0ff5637500bdacadd1a052;hb=f854641371bdfbaba8fbab6212853d9795ba8cc8;hp=50064e82f804a1e20198b017e79b99c74da52c37;hpb=d18fcb8f27a4016e3fa7b50a9b2255d529dca543;p=ptitvelo%2Fweb%2Fwww.git diff --git a/www/ecrire/public/phraser_html.php b/www/ecrire/public/phraser_html.php index 50064e8..ea4aca8 100644 --- a/www/ecrire/public/phraser_html.php +++ b/www/ecrire/public/phraser_html.php @@ -485,23 +485,24 @@ function phraser_criteres($params, &$result) { $not = ""; } else { // Le debut du premier argument est l'operateur - preg_match("/^([!]?)([a-zA-Z][a-zA-Z0-9]*)[[:space:]]*(.*)$/ms", $param, $m); + preg_match("/^([!]?)([a-zA-Z][a-zA-Z0-9_]*)[[:space:]]*(\??)[[:space:]]*(.*)$/ms", $param, $m); $op = $m[2]; $not = $m[1]; + $cond = $m[3]; // virer le premier argument, // et mettre son reliquat eventuel // Recopier pour ne pas alterer le texte source // utile au debusqueur - if ($m[3]) { + if ($m[4]) { // une maniere tres sale de supprimer les "' autour de {critere "xxx","yyy"} - if (preg_match(',^(["\'])(.*)\1$,', $m[3])) { + if (preg_match(',^(["\'])(.*)\1$,', $m[4])) { $c = null; - eval ('$c = '.$m[3].';'); + eval ('$c = '.$m[4].';'); if (isset($c)) - $m[3] = $c; + $m[4] = $c; } $texte = new Texte; - $texte->texte = $m[3]; + $texte->texte = $m[4]; $v[1][0]= $texte; } else array_shift($v[1]); } @@ -509,6 +510,7 @@ function phraser_criteres($params, &$result) { $crit = new Critere; $crit->op = $op; $crit->not = $not; + $crit->cond = $cond; $crit->exclus =""; $crit->param = $v; $args[] = $crit;