Les retours a la ligne

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Les retours a la ligne

Re: Les retours a la ligne

par rimie » 20 avr. 2012, 10:20

en utilisant nl2br avec \n ca donne un double retour a la ligne, si je tape seulement entree, ca me donne un seul saut de ligne

Re: Les retours a la ligne

par Mazarini » 20 avr. 2012, 09:30

Si tu ajoutais un caractère avant chaque \n tu aurais peut être un moyen de voir quel \n provoque ton problème.

Re: Les retours a la ligne

par rimie » 20 avr. 2012, 09:28

nl2br transforme l'entree clavier a un retour a la ligne, alors nl2br + \n va donner double retour a la ligne, nl2br c'est le resultat du break alors que \n pour l'affichage textarea

Re: Les retours a la ligne

par moogli » 20 avr. 2012, 08:41

je pense que c'est la meilleur chose a faire, merci a vous
ben ça dépend du résultat que tu veux hein, mais c'est un peu con de virer les trucs que met toi même :)

si tu ne les met pas dans la partie JS tu n'aurais pas de soucis.

Ceci est surement dû à un nl2br ;)


@+

Re: Les retours a la ligne

par rimie » 20 avr. 2012, 05:05

je l'ai laisse comme c'est deja fait en PHP, j'ai filtre les br, n et r par des remplacements:
foreach($this->tags as $k=>$v)
	   {
	  		$this->text = preg_replace('/'.$k.'/', $v , $this->text);  		
			
			$this->text = preg_replace('/\n/', '', $this->text);
			$this->text = preg_replace('/\r/', '', $this->text);
			$this->text = preg_replace('/<ul><br \/>/', '<ul>', $this->text);
			$this->text = preg_replace('/<br \/><\/ul>/', '</ul>', $this->text);
			$this->text = preg_replace('/<\/li><br \/>/', '</li>', $this->text);
	   }
je pense que c'est la meilleur chose a faire, merci a vous :)

Re: Les retours a la ligne

par moogli » 19 avr. 2012, 16:25

[javascript]
onclick="insertTag('[ul]\n[li]\n','Text1[/li]\n[/ul]\n','textarea');"
[/javascript]

Ou avec des " je sais plus si en javascript y a les même problème qu'avec php ^^

@+

Re: Les retours a la ligne

par Mazarini » 19 avr. 2012, 16:16

Je pense que s'il y a un problème, c'est dans la fonction javascript "insertTag" que l'on ne voit pas.
L'appel à cette fonction me semble bon.

Je pense avoir compris ton problème : lorsque tu cliques sur le bouton d'ajout de liste, ca ajoute des saut de ligne en trop dans la textarea.

Re: Les retours a la ligne

par rimie » 19 avr. 2012, 16:05

je veux le faire au textarea:
<textarea ....>

ici je mets mes trucs en gras, italic, bla bla, apres je mets ma liste

[ul] // retour a la ligne invisible
[li]text[/li] // retour a la ligne invisible
[/ul] // retour a la ligne invisible

du text encore en gras, italic,..
</textarea>

Re: Les retours a la ligne

par moogli » 19 avr. 2012, 13:45

heu je crois que l'on pige pas ce que tu veux faudrait être plus clair.

parce qu'un retour a la ligne qui ne ce vois pas ça n'existe pas hein.

tu veux mettre en page le bbcode ? (pas le rendu) ?

si c'est ça tu le fait dans le code JS c'est suffisant.

@+

Re: Les retours a la ligne

par rimie » 19 avr. 2012, 12:15

Ce que j'ai compris, c'est que dans le rendu d'une liste <ul> il apparaît un trop grand espace assimilable à un saut de ligne. Il y a longtemps, j'avais résolu ce problème en "oubliant" la balise <ul>

C'est pour ca que je proposait l'utilisation de <ul style="margin: 0"> ou <ul style="margin-top: 0; margin-bottom: 0">
je parle de [ul] et retour a la ligne [li], comment le faire en JS sans que ca soit visible au code textarea

Re: Les retours a la ligne

par Mazarini » 19 avr. 2012, 09:30

Ce que j'ai compris, c'est que dans le rendu d'une liste <ul> il apparaît un trop grand espace assimilable à un saut de ligne. Il y a longtemps, j'avais résolu ce problème en "oubliant" la balise <ul>

C'est pour ca que je proposait l'utilisation de <ul style="margin: 0"> ou <ul style="margin-top: 0; margin-bottom: 0">

Re: Les retours a la ligne

par rimie » 19 avr. 2012, 08:55

insertTag('[ul]<script>\r\n</script>[li]'
ca me donne:

[ul]<script>
</script>[li]Text[/li]<script>
</script>[/ul]

Re: Les retours a la ligne

par moogli » 19 avr. 2012, 08:33

"\r\n" dans une chaîne de caractère si c'est dans un textarea. sinon un bon vieux br :)


@+

Re: Les retours a la ligne

par rimie » 19 avr. 2012, 05:02

comment peut on faire un retour a la ligne avec du JS au sein du code HTML?

Re: Les retours a la ligne

par rimie » 18 avr. 2012, 11:54

je pense que la solution du JS est mieux, Non!