From e45be9f0f00edeeeda54b49260dc8784b157d1c1 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Fri, 15 Sep 2006 22:41:14 +0000
Subject: [PATCH] erreur dans la regexp, je me suis fait avoir par la doc (que
 j'avais donc mal lue)

---
 ecrire/inc/texte.php | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php
index e640945534..aff825da0c 100644
--- a/ecrire/inc/texte.php
+++ b/ecrire/inc/texte.php
@@ -118,13 +118,12 @@ function code_echappement($rempl, $source='') {
 function echappe_html($letexte, $source='', $no_transform=false,
 $preg='') {
 	if (!$preg) $preg = ',<(html|code|cadre|frame|script)'
-			.'(:?\s[^>]*)?'
+			.'(\s[^>]*)?'
 			.'>(.*)</\1>,UimsS';
 	if (preg_match_all(
 	$preg,
 	$letexte, $matches, PREG_SET_ORDER))
 	foreach ($matches as $regs) {
-
 		// mode d'echappement :
 		//    <span class='base64'> . base64_encode(contenu) . </span>
 		// ou 'div' selon les cas, pour refermer correctement les paragraphes
@@ -140,12 +139,12 @@ $preg='') {
 
 			// Echapper les <html>...</ html>
 			case 'html':
-				$echap = $regs[2];
+				$echap = $regs[3];
 				break;
 
 			// Echapper les <code>...</ code>
 			case 'code':
-				$echap = entites_html($regs[2]);
+				$echap = entites_html($regs[3]);
 				// supprimer les sauts de ligne debut/fin
 				// (mais pas les espaces => ascii art).
 				$echap = ereg_replace("^\n+|\n+$", "", $echap);
@@ -168,7 +167,7 @@ $preg='') {
 			// Echapper les <cadre>...</ cadre>
 			case 'cadre':
 			case 'frame':
-				$echap = trim(entites_html($regs[2]));
+				$echap = trim(entites_html($regs[3]));
 				$total_lignes = substr_count($echap, "\n") + 1;
 				$echap = "<form action=\"/\" method=\"get\"><div>"
 				."<textarea readonly='readonly' cols='40' rows='$total_lignes' "
@@ -203,6 +202,7 @@ $preg='') {
 			code_echappement(highlight_string($regs[0],true), $source),
 			$letexte);
 	}
+
 	return $letexte;
 }
 
-- 
GitLab