pb copier/coller dans 1 textarea

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

yann214
WRInaute impliqué
WRInaute impliqué
 
Messages: 366
Inscription: Jeu Nov 17, 2005 8:59

pb copier/coller dans 1 textarea

Message le Ven Aoû 04, 2006 16:04

Salut,

Nouveau problème :

j'ai un textarea pour que mes utilisateurs puissent saisir un texte, mais s'il font un copier/coller dedans, il y a des retours à la ligne lorsque j'enregistre la chaîne correspondante en php dans un champs mysql.

et naturellement :) je ne veux pas garder ces retours à la ligne.

Existe-til un moyen (ou une fonction) pour les enlever automatiquement ?

merci !!


dmathieu
Modérateur
Modérateur
 
Messages: 6925
Inscription: Ven Jan 09, 2004 16:21

Message le Ven Aoû 04, 2006 16:06

Code: Tout sélectionner
$str = str_replace("\n", '', $str);

Ceci devrait suffit ($str est ton texte)

Mais ces retour à la ligne ne seront pas affichés sur ta page hein, c'est pas des <br />

yann214
WRInaute impliqué
WRInaute impliqué
 
Messages: 366
Inscription: Jeu Nov 17, 2005 8:59

Message le Ven Aoû 04, 2006 16:42

j'ai essayé mais résultat négatif.

En fait le problème c'est que je n'ai pas de \n de visible dans ma chaîne, j'ai juste des retours à la ligne

en gros si je fais afficher le code source du textarea correspondant dans ma base j'ai par exemple avec un texte choppé sur yahoo :

Code: Tout sélectionner
<textarea name="fields[multi_edit][+%60ACT_ID%60+%3D+%27683%27][CONTENT]" rows="7" cols="40" wrap="virtual" dir="ltr" id="field_6_3"
                    onchange="return unNullify('CONTENT', '[multi_edit][+%60ACT_ID%60+%3D+%27683%27]')" tabindex="7">&lt;div align=\&quot;justify\&quot;&gt;&lt;p&gt;&lt;a href=\&quot;http://fr.news.yahoo.com/m/moteurs.html\&quot;&gt;Google&lt;/a&gt;
a discrètement implanté un filtre anti malware dans son moteur, qui
sort du coup un peu plus de la neutralité. L’information a été repérée
par le site spécialisé &lt;a href=\&quot;http://fr.rd.yahoo.com/partners/pcinpact/SIG=12a7f0ruo/*http%3A//www.pcinpact.com/link.php?url=http%3A%2F%2Fblog.outer-court.com\&quot;&gt;blog.outer-court&lt;/a&gt;.
Concrètement, lorsque l’on formule une requête particulière puis que
l'on clique sur un résultat, la cible est analysée via une base de
données. En cas de correspondance, un message en anglais indique : « &lt;em&gt;Attention, le site que vous êtes sur le point pour visiter peut nuire à votre ordinateur ! &lt;/em&gt;»
et le moteur de suggérer de revenir sur ses pas ou de tenter une autre
recherche. A défaut, on peut toujours forcer le barrage et opter pour
le site déconseillé. &lt;/p&gt;
</textarea>

Zim'
WRInaute passionné
WRInaute passionné
 
Messages: 804
Inscription: Jeu Avr 27, 2006 2:08

Message le Ven Aoû 04, 2006 17:53

Salut,

Dans mysql, quand tu affiche les données, et meme dans le textarea tu ne vois pas de \n, seulement ils y sont, et sont remplacé par des sauts de ligne.

Quand tu réaffiche le contenu de ta bdd sur une page html, tu n'aura pas ces sauts de ligne, pour les avoir il faut que tu fasse un nl2br() en php

Si vraiment tu ne veux pas ces sauts de ligne tu fais:

$str = str_replace("\n", '', $str);

yann214
WRInaute impliqué
WRInaute impliqué
 
Messages: 366
Inscription: Jeu Nov 17, 2005 8:59

Message le Dim Aoû 06, 2006 23:21

le problème c'est que cette fonction...

$str = str_replace("\n", '', $str);

...ne m'enlève rien du tout !

Si je regarde le code source de ma page html, je vois que le texte de mon article est toujours sur plusieurs lignes avec des sauts de ligne en cours de phrase, etc.

Cela vient du copier/coller dans mon textarea, mais impossible d'enlever ces retours à la ligne...

Si je fais une copie du source vers ultraedit, et que je fais afficher les espaces/tabulations, je vois bien le caractère de fin de ligne là où mes phrases sont tronquées...

Edit 1 : pour info la fonction $texte=nl2br($texte); me remplace bien ces "retours" par des <br>. Il y a donc bien quelque chose mais pas des \n...

Edit 2 : j'ai essayé aussi d'enlever les CHR(10) et CHR(13), marche pas...

yann214
WRInaute impliqué
WRInaute impliqué
 
Messages: 366
Inscription: Jeu Nov 17, 2005 8:59

Message le Lun Aoû 07, 2006 0:45

ça avance :

en urlencodant mon texte j'ai vu que ces retours étaient des %0D%04, donc des \r\n

j'ai donc essayé :

$str = str_replace("\r\n", '', $str);

... et ça marche !!!!

Le seul truc c'est que je ne sait pas si c'est une solution universelle, où si quand quelqu'un fait un copier/coller de word, on a '\n', de firefox, on a '\r\n, etc...


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités