From 685714c4624f5a4e88caf7606950e7cc0e78fda9 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Wed, 20 Jul 2005 16:28:51 +0000
Subject: [PATCH] bug bulgare sur lignes_longues() (Mathieu) un <div> autour
 des <textarea> pour plus de compliance (Jacques)

---
 ecrire/inc_filtres.php3 | 6 +++++-
 ecrire/inc_texte.php3   | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3
index c76404bac0..f7ccd4c519 100644
--- a/ecrire/inc_filtres.php3
+++ b/ecrire/inc_filtres.php3
@@ -218,6 +218,10 @@ function PtoBR($texte){
 
 // Couper les "mots" de plus de $l caracteres (souvent des URLs)
 function lignes_longues($texte, $l = 70) {
+	// Passer en utf-8 pour ne pas avoir de coupes trop courtes avec les &#xxxx;
+	// qui prennent 7 caracteres
+	$texte = unicode_to_utf_8(filtrer_entites($texte));
+
 	// echapper les tags (on ne veut pas casser les a href=...)
 	$tags = array();
 	if (preg_match_all('/<.*>/Ums', $texte, $t, PREG_SET_ORDER)) {
@@ -238,7 +242,7 @@ function lignes_longues($texte, $l = 70) {
 		$texte = str_replace(" @@SPIPTAG$n@@ ", $tag, $texte);
 	}
 
-	return $texte;
+	return importer_charset($texte, 'utf-8');
 }
 
 // Majuscules y compris accents, en HTML
diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3
index 51fb5daf44..28512094ce 100644
--- a/ecrire/inc_texte.php3
+++ b/ecrire/inc_texte.php3
@@ -160,7 +160,7 @@ function echappe_html($letexte, $source='SOURCEPROPRE', $no_transform=false) {
 			$lecode = trim(entites_html($regs[9]));
 			$total_lignes = substr_count($lecode, "\n");
 
-			$les_echap[$num_echap] = "<form action=\"/\" method=\"get\"><textarea readonly='readonly' cols='40' rows='$total_lignes' class='spip_cadre' dir='ltr'>".$lecode."</textarea></form>";
+			$les_echap[$num_echap] = "<form action=\"/\" method=\"get\"><div><textarea readonly='readonly' cols='40' rows='$total_lignes' class='spip_cadre' dir='ltr'>".$lecode."</textarea></div></form>";
 			// Les marques ci-dessous indiquent qu'on ne veut pas paragrapher
 			$marqueur_echap = "\n\n</no p>$marqueur_echap<no p>\n\n";
 		}
-- 
GitLab