From 7f722d6a96ade68ea9de5e3e6e8950020b2041bc Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Tue, 14 Jan 2003 13:33:35 +0000
Subject: [PATCH] patch jerome fenal (pcre sur <code><cadre><html>)

---
 ecrire/inc_texte.php3    | 20 ++++++++++++++------
 ecrire/lang/spip_zg.php3 |  2 +-
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3
index 42e736f8e4..5522a29fd8 100644
--- a/ecrire/inc_texte.php3
+++ b/ecrire/inc_texte.php3
@@ -134,14 +134,22 @@ function nettoyer_chapo($chapo){
 
 // Mise de cote des echappements
 function echappe_html($letexte,$source) {
+	global $flag_preg_replace;
 
-	$regexp_echap_html = "<html>(([^<]|<[^/]|</[^h]|</h[^t]|</ht[^m]|</htm[^l]|<\/html[^>])*)<\/html>";
-	$regexp_echap_code = "<code>(([^<]|<[^/]|</[^c]|</c[^o]|</co[^d]|</cod[^e]|<\/code[^>])*)<\/code>";
-	$regexp_echap_cadre = "<cadre>(([^<]|<[^/]|</[^c]|</c[^a]|</ca[^d]|</cad[^r]|</cadr[^e]|<\/cadre[^>])*)<\/cadre>";
-
-	$regexp_echap = "($regexp_echap_html)|($regexp_echap_code)|($regexp_echap_cadre)";
+	if ($flag_preg_replace) {	// beaucoup plus rapide si on a pcre
+		$regexp_echap_html = "<html>((.*?))<\/html>";
+		$regexp_echap_code = "<code>((.*?))<\/code>";
+		$regexp_echap_cadre = "<cadre>((.*?))<\/cadre>";
+		$regexp_echap = "/($regexp_echap_html)|($regexp_echap_code)|($regexp_echap_cadre)/si";
+	} else {
+		$regexp_echap_html = "<html>(([^<]|<[^/]|</[^h]|</h[^t]|</ht[^m]|</htm[^l]|<\/html[^>])*)<\/html>";
+		$regexp_echap_code = "<code>(([^<]|<[^/]|</[^c]|</c[^o]|</co[^d]|</cod[^e]|<\/code[^>])*)<\/code>";
+		$regexp_echap_cadre = "<cadre>(([^<]|<[^/]|</[^c]|</c[^a]|</ca[^d]|</cad[^r]|</cadr[^e]|<\/cadre[^>])*)<\/cadre>";
+		$regexp_echap = "($regexp_echap_html)|($regexp_echap_code)|($regexp_echap_cadre)";
+	}
 
-	while (eregi($regexp_echap, $letexte, $regs)) {
+	while (($flag_preg_replace && preg_match($regexp_echap, $letexte, $regs))
+		|| (!$flag_preg_replace && eregi($regexp_echap, $letexte, $regs))) {
 		$num_echap++;
 
 		if ($regs[1]) {
diff --git a/ecrire/lang/spip_zg.php3 b/ecrire/lang/spip_zg.php3
index 18b28906db..ef94878eca 100644
--- a/ecrire/lang/spip_zg.php3
+++ b/ecrire/lang/spip_zg.php3
@@ -936,7 +936,7 @@ exige d\'avoir un acc&egrave;s FTP au site Web.',
 'log_tables_remplissage_base' => 'pre-remplissage de la baseZORG',
 'logo_article' => 'LOGO DE L\'ARTICLE',
 'logo_auteur' => 'LOGO DE L\'AUTEUR',
-'logo_breve' => 'LOGO DE LA BR&Eagrave;VEZORG',
+'logo_breve' => 'LOGO DE LA BR&Egrave;VEZORG',
 'logo_mot_cle' => 'LOGO DU MOT-CL&Eacute;ZORG',
 'logo_rubrique' => 'LOGO DE LA RUBRIQUE ZORG',
 'logo_site' => 'LOGO DE CE SITE ZORG',
-- 
GitLab