Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

PHP - Textarea - Retour Chariot - nl2br

Matt, le lundi 24 septembre 2007 à 19:41:24
Bonjour,

J'ai un petit soucis avec php, je m'explique :

L'utilisateur de mon site doit, via un textarea enregistrer un texte (ex: une news)

Lorsque l'utilisateur valide le tout, un fichier .txt est créé dans un répertoire x du serveur.

L'affichage du texte sur la page voule s'éffectue sans problème via la fonction include. (les sauts de lignes s'affiche également correctement via nl2br).

Lorsque le visiteur veut modifier ce texte, il l'édite le contenu du fichier dans un textarea. Et là, la balise <br /> s'affiche également.

Ce que je NE veut PAS. J'aimerai que la gestion des <br /> soit totalement transparente pour l'utilisateur, que le texte soit affiché exactement de la même façon que lorsque l'utilisateur l'a écrit....


Merci pour vos réponses.
Répondre à Matt  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Flachy Joe, le lundi 24 septembre 2007 à 20:28:24
Salut,

utilise str_replace('<br/>', "\n", $text)

forum spécialisé php : http://www.phpcs.com

Bonne continuation
Répondre à Flachy Joe

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Matt, le mardi 25 septembre 2007 à 14:47:01
Merci mais, j'ai déja essayé et ca ne change rien ... les <br /> sont toujours là...

Voici mon code :

<textarea name="modifenqqmpar1" wrap="physical" id="champs1" >
<?php
$text = include("../texte/pconnexion/enqqmpar1.txt");
str_replace('<br/>', "\n", $text);
echo $text;
?>
</textarea>

Cela est peut-être du au fait que j'attribue la valeur de ma commande include à ma variable $text ???
Répondre à Matt

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Flachy Joe, le mardi 25 septembre 2007 à 18:19:29
Bien sur !

Include ne renvoi pas le contenu du fichier dans la variable, il est directement interprété et/ou envoyé au navigateur. cf ( http://www.php.net/manual/fr/function.include.php )

Pour récupérer le contenu d'un fichier il faut utiliser file_get_contents ( http://www.php.net/manual/fr/function.file-get-contents.php )
Répondre à Flachy Joe

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
morphee, le mercredi 18 juin 2008 à 12:46:32
il y a aussi des chances que tu vois <br /> affiche mais qu'en réalite ce soit htmlentities("<br />") donc adapte ton str8replace en fonction de ca
Répondre à morphee

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
LUDO, le jeudi 17 juillet 2008 à 00:34:11
IL ME SEMBLE DE MEMOIRE QUE LE FICHIERS .txt ne gere pas les retour charriots remplace le par un .php
Répondre à LUDO

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
sonik21, le jeudi 17 juillet 2008 à 20:48:30
la balise <pre> permet d'effectuer un retour chariot automatique et il ny a donc pas besoin de <br />.
tu place la balise <pre> au début de ta textarea et a la fin et quan un retour a la ligne, un saut de ligne... sera effectuer dans la textarea, il sera effectuer dans le fichier texte quan il aura été écrit dedans.
mai je te conseille, de remplacer ton fichier texte par un fichier php.
Répondre à sonik21

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Jo, le vendredi 18 juillet 2008 à 06:34:43
Je ne sais pas exactement comment apparait ton texte, mais si au lieu d'afficher :

bla bla bla
bla bla bla

tu as :

bla bla bla <br />
bla bla bla <br />

un simple str_replace('<br />', '', $texte) devrait faire l'affaire, non ?

je ne garanti rien je n'utilise pas les fichiers.
Répondre à Jo

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
flawoz, le samedi 20 septembre 2008 à 12:40:01
En effet, cela fonctionne avec un simple str_replace('<br />','',$text), mais il faut qu'il soit combiné avec un nl2br(htmlentities($_POST["nom de ton textarea"])) à la réception de la modification. Il te faut donc deux scripts.

exemple :

Modifier.php :
<?
$serveur="";
$bdd_login="";
$bdd_psw="";
$bdd=$bdd_login;
$db = mysql_connect($serveur,$bdd_login,$bdd_psw) or die ("Erreur 1 dans modifier.php :".mysql_error());
mysql_select_db($bdd,$db) or die ("Erreur 2 dans modifier.php :".mysql_error());

if(isset(htmlentities($_POST["description"]))){
$description=nl2br(htmlentities($_POST["description"]));
mysql_query("UPDATE `MaTable` SET `description` = '$description' WHERE pseudo = 'MonPseudo' LIMIT 1 ") or die("Erreur 2 dans modifier.php :".mysql_error());//
}

$req = mysql_query("SELECT * FROM MaTable WHERE pseudo='MonPseudo'") or die(mysql_error());
$contenu = mysql_fetch_array($req);
?>

<html>
<body>
<Form action="" method="post">
<textarea name="description" cols="35" rows="10" id="textarea">
<? print str_replace('<br />','',$contenu["description"]);?>
</textarea>
<input type="button" value="Enregistrer">
</form>
</body>
</html>
<? mysql_close();?>
Répondre à flawoz

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 toto, le samedi 20 septembre 2008 à 13:48:37
Bonjour

Le problème, c'est que tu enregistres dans ta base un texte différent de celui que l'utilisateur à frappé. Quand tu enregistres nl2br(htmlentities($_POST["description"])), ton texte est altéré. Il faut enregistrer dans ta base mysql_real_escape_string($_POST["description"]) pour avoir le 'vrai' texte dans ta base.

Plus tard, quand tu le récupères dans une variable $texte grâce à une requête, tu peux l'afficher :
. dans un TEXTAREA grâce à htmlentities($texte)
. hors TEXTAREA grâce à un nl2br(htmlentities($texte))
Répondre à toto
[VB]Prob retour chariot dans txtbox (Résolu)bonjour bonjour, je suis en train de me prendre la tete depuis facil 3 heures sur "comment insérer un retour chariot dans une textbox"! J'ai effectué plusiseurs recherches sur le net, et trouvé plusieurs solutions, genre celles la: Private Sub... www.commentcamarche.net/forum/affich-1376663-vb-prob-retour-chariot-dans-txtbox
Supprimer retour chariot dans un champs Acces (Résolu)Salut, J'ai un petit soucis. Je cherche à supprimer les RETOUR CHARIOT dans un champs texte sous ACCESS windows 98 pour pouvoir exporter ce champs sour .CSV. Ce fichier par la suite est envoyé à un serveur qui traite les lligne de champs pour... www.commentcamarche.net/forum/affich-2974534-supprimer-retour-chariot-dans-un-champs-acces
Problème sur le Retour chariot (Résolu)Bonjour, Je souhaiterai savoir comment faire pour suprimer un retour chariot sous VB6. Je vous présente comment est effectué mon enregistrement, je dispose d'une BDD sous Access avec un champ de Mémo qui s"intitule MatConf. Losrsque... www.commentcamarche.net/forum/affich-3237162-probleme-sur-le-retour-chariot
Espace en HTMLEn HTML, les espaces consécutifs sont ignorés par les navigateurs, au même titre que les retours chariots ou les tabulations. Pour insérer plusieurs espaces consécutifs, il est nécessaire d'utiliser une entité HTML spécifique, appelée espace... www.commentcamarche.net/faq/sujet-8070-espace-en-html
Sed - Insérer des espacementsEspacement dans un fichier Ajouter une ligne blanche après chaque phrase (ponctuée par un retour chariot) : sed G fichier.txt Ajouter une ligne blanche après chaque phrase (ponctuée par un retour chariot), sans tenir compte des lignes blanches... www.commentcamarche.net/faq/sujet-5590-sed-inserer-des-espacements
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF)Conversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce cette... www.commentcamarche.net/faq/sujet-5978-sed-conversion-retours-chariots-dos-crlf-unix-lf
Supprimer les retour chariot dans Access (Résolu)Salut, J'ai un petit soucis. Je cherche à supprimer les RETOUR CHARIOT dans un champs texte sous ACCESS windows 98 pour pouvoir exporter ce champs sour .CSV. Ce fichier par la suite est envoyé à un serveur qui traite les lligne de champs pour... www.commentcamarche.net/forum/affich-2959586-supprimer-les-retour-chariot-dans-access
Php supprimer un retour chariot (Résolu)Bonjour, certainement déjà posé, mais pas trouvé ! je dois afficher (après extraction d'un ensemble) echo $var; doit afficher " bonjour" Or echo $var; m'affiche "bonjour " J'ai visiblement un retour chariot dans ma variable ! => la... www.commentcamarche.net/forum/affich-5511745-php-supprimer-un-retour-chariot
[Awk] Empecher retour chariot dans print (Résolu)Bonjour, J'aimerais empecher le retour chariot systematique dans awk avec la fonction print. quel opion doit on mettre pour empecher le retour chariot? Merci www.commentcamarche.net/forum/affich-6783379-awk-empecher-retour-chariot-dans-print
PHP - Caractéristiques du langage Un code PHP (celui compris entre les délimiteurs ) est un ensemble d'instructions se terminant chacune par un point-virgule (comme en langage C). Lorsque le code est interprété, les espaces, retours chariot et tabulation ne sont pas pris... www.commentcamarche.net/php/phpcarac.php3
HTML - Paragraphes Le langage HTML considère les paragraphes comme des blocs de texte. Les navigateurs répartissent au mieux leur contenu dans la fenêtre à moins qu'=un attribut NOWRAP ou NOBR soit spécifié explicitement. A l'intérieur d'un paragraphe, les espaces,... www.commentcamarche.net/html/htmlparagraphes.php3
Le code ASCII Le morse a été le premier codage à permettre une communication longue distance. C'est Samuel F.B.Morse qui l'a mis au point en 1844. Ce code est composé de points et de tirets (un codage binaire en quelque sorte...). Il permit d'effectuer des... www.commentcamarche.net/base/ascii.php3
Toutes les réponses pour « PHP Textarea Retour Chariot nl2br »