From 1587ca0d9986ec6004b34f904ca10b40baa767e1 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Fri, 27 May 2005 16:05:01 +0000
Subject: [PATCH] =?UTF-8?q?Attention=20Altern=20n'appr=C3=A9cie=20pas=20du?=
 =?UTF-8?q?=20tout=20les=20{=20bizarrement=20plac=C3=A9s=20dans=20les=20er?=
 =?UTF-8?q?eg.=20Deux=20solutions=20:=20-=20soit=20rester=20en=20ereg=20et?=
 =?UTF-8?q?=20tester=20sur=20altern=20-=20soit=20passer=20en=20preg=20au?=
 =?UTF-8?q?=20moins=20pour=20ces=20chaines=20l=C3=A0.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

(Note: c'est le bu!g signalé par echo <a_la_playa@club-internet.fr> sur le site http://spip.teleplaisance.org/spip_login.php3?url=ecrire : en l'occurrence les regexpo ne parvenaient pas à calculer la partie ->apres des champs étendus)
---
 inc-html-squel.php3 | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/inc-html-squel.php3 b/inc-html-squel.php3
index 8ea01b04d7..7046d83ecf 100644
--- a/inc-html-squel.php3
+++ b/inc-html-squel.php3
@@ -163,7 +163,7 @@ function phraser_champs_etendus($texte, $result) {
 function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) {
   $texte = ltrim($texte);
   while (($texte!=="") && strpos($fin, $texte[0]) === false) {
-      ereg("^(\|?[^{)|]*)(.*)$", $texte, $match);
+      preg_match(",^(\|?[^{)|]*)(.*)$,ms", $texte, $match);
       $suite = ltrim($match[2]);
       $fonc = $match[1];
       if ($fonc[0] == "|") $fonc = substr($fonc,1);
@@ -179,11 +179,11 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) {
 	$collecte = array();
 	while ($args && $args[0] != '}') {
 		if ($args[0] == '"')
-			ereg ('^(")([^"]*)(")(.*)$', $args, $regs);
+			preg_match ('/^(")([^"]*)(")(.*)$/ms', $args, $regs);
 		else if ($args[0] == "'")
-			ereg ("^(')([^']*)(')(.*)$", $args, $regs);
+			preg_match ("/^(')([^']*)(')(.*)$/ms", $args, $regs);
 		else {
-		  ereg("^( *)([^,}]*)([,}$fin].*)$", $args, $regs);
+		  preg_match("/^( *)([^,}]*)([,}$fin].*)$/ms", $args, $regs);
 		  if (!strlen($regs[2]))
 		    {
 		      erreur_squelette(_T('zbug_info_erreur_squelette'), $args);
@@ -201,7 +201,7 @@ function phraser_args($texte, $fin, $sep, $result, &$pointeur_champ) {
 			$collecte[] = $champ;
 			$args = ltrim($regs[count($regs)-1]);
 		} else {
-		  if (!ereg("^(.*)" . NOM_DE_CHAMP ."[|{]", $arg, $r)) {
+		  if (!ereg("^(.*)" . NOM_DE_CHAMP ."[{|]", $arg, $r)) {
 		    $arg = phraser_champs_exterieurs($arg, $sep, $result);
 		    $args = ltrim($regs[count($regs)-1]);
 		    $collecte = array_merge($collecte, $arg);
-- 
GitLab