Texte formaté

Le
Régine
Bonjour,

Je souhaite rcuprer le texte saisi dans un formulaire (zone texe
html) et restituer ce texte avec les retour la ligne tel que saisi.

J'ai dans perle le variable $INPUT{'FullText'}

Comment conserver le formatage du texte dans perl ?

Merci pour votre aide

Bien cordialement

Grald
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Paul Gaborit
Le #18585721
À (at) Wed, 4 Feb 2009 22:19:43 -0800 (PST),
Régine
Je souhaite récupérer le texte saisi dans un formulaire (zone texe
html) et restituer ce texte avec les retour à la ligne tel que saisi.

J'ai dans perle le variable $INPUT{'FullText'}

Comment conserver le formatage du texte dans perl ?



A priori, si vous utilisez le module CGI (ou un module équivalent), la
variable doit contenir le texte tel qu'il a été saisi par
l'utilisateur et envoyé par son navigateur...

Qu'est-ce qui vous fait croire que Perl pourrait se permettre de le
modifier sans aucune action explicite de votre code ? Ne serait-pas
plutôt une question d'affichage en HTML d'un texte formaté ?

--
Paul Gaborit - Perl en français -
Régine
Le #18611021
On 5 fév, 08:09, Paul Gaborit
À (at) Wed, 4 Feb 2009 22:19:43 -0800 (PST),
Régine
> Je souhaite récupérer le texte saisi dans un formulaire (zone texe
> html) et restituer ce texte avec les retour à la ligne tel que saisi.

> J'ai dans perle le variable $INPUT{'FullText'}

> Comment conserver le formatage du texte dans perl ?

A priori, si vous utilisez le module CGI (ou un module équivalent), la
variable doit contenir le texte tel qu'il a été saisi par
l'utilisateur et envoyé par son navigateur...

Qu'est-ce qui vous fait croire que Perl pourrait se permettre de le
modifier sans aucune action explicite de votre code ? Ne serait-pas
plutôt une question d'affichage en HTML d'un texte formaté ?

--
Paul Gaborit - Perl en français -



Bonjour,

Je me suis peut être mal exprimé

J'ai une zone texte (Var= FullText) en html dans laquelle je souhaite
faire des retours à la ligne etc...

En perl, l'instruction: Un print >une page html

print DATA "<center><table border="0" cellspacing="1" width="50%
"><tr><td><font color="#3399FF" size="2" face="Verdana">$INPUT
{'FullText'}</font></td>

Bien sur je peux y ajouter de <br> mais je souhaite le prise en compte
des retour à la ligne

Merci pour votre aide
Cordiales salutations
Gérald
Paul Gaborit
Le #18611301
À (at) Sat, 7 Feb 2009 09:19:32 -0800 (PST),
Régine
Je me suis peut être mal exprimé



Peut-être... Mais au vu de ce que vous dites ci-dessous, je pense
avoir très bien compris.

J'ai une zone texte (Var= FullText) en html dans laquelle je souhaite
faire des retours à la ligne etc...

En perl, l'instruction: Un print >une page html

print DATA "<center><table border="0" cellspacing="1" width="50%
"><tr><td><font color="#3399FF" size="2" face="Verdana">$INPUT
{'FullText'}</font></td>



Que vous pourriez écrire beaucoup plus simplement d'un point de vue
syntaxe Perl en utilisant l'opérateur 'qq' :

print DATA qq{<center><table border="0" cellspacing="1" width="50%">
<tr><td><font color="#3399FF" size="2"
face="Verdana">$INPUT{FullText}</font></td></tr></table>};

... et vous auriez le même souci d'affichage avec le code suivant :

print DATA "<p>$INPUT{FullText}</p>";

Vous pourrez aussi remarqué que si votre texte contient plusieurs
espaces successifs (2, 1000 ou plus encore), ils sont affichés comme
un seul espace. Et c'est normal : c'est le fonctionnement voulu du
HTML.

Bien sur je peux y ajouter de <br> mais je souhaite le prise en compte
des retour à la ligne



L'ajout de '<br>' est effectivement une solution :

my $texte_avec_br = $INPUT{FullText};
$texte_avec_br =~ s/n/<br>n/g;
print DATA "<p>$texte_avec_br</p>";

mais ça ne préserve pas les espaces multiples...

Un deuxième solution consiste à utiliser un élément HTML qui préserve
les passages à la ligne du contenu lors de l'affichage :

print DATA "<pre>$texte_avec_br</pre>";

Une autre solution consiste à indiqué, via du CSS, que l'élément
contenant votre texte doit respecter les passages à la ligne:

print DATA qq{<p style="white-space: pre;">$INPUT{FullText}</p>};

En tous cas, c'est bien un problème de HTML et non de Perl...

--
Paul Gaborit - Perl en français -
Paul Gaborit
Le #18611411
À (at) Sat, 07 Feb 2009 18:57:04 +0100,
Paul Gaborit [...]
Un deuxième solution consiste à utiliser un élément HTML qui préserve
les passages à la ligne du contenu lors de l'affichage :

print DATA "<pre>$texte_avec_br</pre>";



Je voulais écrire :

Une deuxième solution consiste à utiliser un élément HTML qui
préserve les passages à la ligne du contenu lors de l'affichage :

print DATA "<pre>$INPUT{FullText}</pre>";

--
Paul Gaborit - Perl en français -
Régine
Le #18615161
On 7 fév, 19:04, Paul Gaborit
À (at) Sat, 07 Feb 2009 18:57:04 +0100,
Paul Gaborit [...]

> Un deuxième solution consiste à utiliser un élément HTML qui pr éserve
> les passages à la ligne du contenu lors de l'affichage :

>   print DATA "<pre>$texte_avec_br</pre>";

Je voulais écrire :

  Une deuxième solution consiste à utiliser un élément HTML qui
  préserve les passages à la ligne du contenu lors de l'affichage :

     print DATA "<pre>$INPUT{FullText}</pre>";

--
Paul Gaborit - Perl en français -




C'est parfait et je vous remercie infiniment pour votre aide !
Cordiales salutations
Gérald
Publicité
Poster une réponse
Anonyme