1. #1
    Membre régulier
    Profil pro
    Inscrit en
    février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 289
    Points : 119
    Points
    119

    Par défaut Afficher un texte avec plusieurs espaces contigus

    Bonjour,

    J'essaie d'afficher un texte avec des espaces contigus entre les mots, exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exposition:  La Renaissance  des Arts
    avec 2 espaces au début et à la fin de 'La Renaissance'
    Hors lors de l'affichage, tout est réduit à 1 espace ( ne tenant pas compte des 2 espaces d'origine )
    J'ai essayé plusieurs solutions, mais n'est pas trouvé la bonne
    ? Comment faire.

  2. #2
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 394
    Points : 20 757
    Points
    20 757

    Par défaut

    Bonjour,

    1/ espace insécable :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    Exposition :   La Renaissance   des Arts
    Important : penser à laisser un espace " " avant et après, sinon l'ensemble est considéré comme une chaine complète
    (et les mots ne passeront pas à la ligne si on réduit la largeur du conteneur).

    ex. comparer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div style="width:100px;background:lightgrey;">
      Exposition&nbsp;:&nbsp;&nbsp;La&nbsp;Renaissance&nbsp;&nbsp;des Arts
    </div>
    <div style="width:100px;background:lightgrey;">
      Exposition&nbsp;: &nbsp;&nbsp;La&nbsp;Renaissance&nbsp;&nbsp; des Arts
    </div>
    2/ plusieurs espaces, avec PHP :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo str_repeat('&nbsp;',12); // Répéter 12 fois un espace ?>

    3/ ou MIEUX, en CSS :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    Exposition&nbsp;:<span class="morespace">La Renaissance</span>des Arts
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .morespace {
      display:inline-block;
      margin:0 10px;
    }

    N.B. En français, il y a un espace avant les ":" :
    L'inconvénient précédemment cité est ici un avantage : les ":" ne passeront pas à la ligne.
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 289
    Points : 119
    Points
    119

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    elseif ($Evenement[$iLangue][40] == "CadrageCentre") {
    	for ($i=30; $i<=39; $i++) {
    		$Evenement[$iLangue][$i] =  str_replace(" ", "&nbsp;", $Evenement[$iLangue][$i]); }
    	for ($i=30; $i<=39; $i++) {
    		 $Espace_[$i] = ((75 -  strlen($Evenement[$iLangue][$i])) / 2); }
    	echo "<text class='CourierNew_Medium10N'>".str_repeat('&nbsp;',$Espace_[30]).$Evenement[$iLangue][30].str_repeat('&nbsp;',$Espace_[30])."<br/>".
    						   str_repeat('&nbsp;',$Espace_[31]).$Evenement[$iLangue][31].str_repeat('&nbsp;',$Espace_[31])."<br/>".
    						   str_repeat('&nbsp;',$Espace_[32]).$Evenement[$iLangue][32].str_repeat('&nbsp;',$Espace_[32])."<br/>".
    						   str_repeat('&nbsp;',$Espace_[33]).$Evenement[$iLangue][33].str_repeat('&nbsp;',$Espace_[33])."<br/>".
    						   str_repeat('&nbsp;',$Espace_[34]).$Evenement[$iLangue][34].str_repeat('&nbsp;',$Espace_[34])."<br/>".
    						   str_repeat('&nbsp;',$Espace_[35]).$Evenement[$iLangue][35].str_repeat('&nbsp;',$Espace_[35])."<br/>".
    						   str_repeat('&nbsp;',$Espace_[36]).$Evenement[$iLangue][36].str_repeat('&nbsp;',$Espace_[36])."<br/>".
    						   str_repeat('&nbsp;',$Espace_[37]).$Evenement[$iLangue][37].str_repeat('&nbsp;',$Espace_[37])."<br/>".
    						   str_repeat('&nbsp;',$Espace_[38]).$Evenement[$iLangue][38].str_repeat('&nbsp;',$Espace_[38])."<br/>".
    						   str_repeat('&nbsp;',$Espace_[39]).$Evenement[$iLangue][39].str_repeat('&nbsp;',$Espace_[39])."</text>"; }
    Dans mon exemple, je centre le texte par rapport à mon espace d'affichage.
    Les espaces avant et après le texte sont bien respectés, mais pas les doubles espaces dans le texte

  4. #4
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 394
    Points : 20 757
    Points
    20 757

    Par défaut

    ???

    text-align:center; ne convenait pas ??

    Sinon, as-tu vérifié le code HTML généré par ton script ?
    Que donne-t-il ?
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    octobre 2011
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2011
    Messages : 931
    Points : 1 029
    Points
    1 029

    Par défaut

    Salut,

    J'ajoute à ce qu'a dit Jreaux62 qu'il y a moyen d'éviter la fusion des espaces avec du CSS : style="white-space : pre;...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 289
    Points : 119
    Points
    119

    Par défaut

    Absent, je n'ai pu répondre avant.

    J'ai essayé
    style="white-space : pre;
    mais cela ne fonctionnait pas non plus.

    La solution que j'ai trouvé c'est de remplacer les espaces par des espaces insécables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str_replace(" ", ""&#160;", $Evenement[$iLangue][$i]);
    Par contre, toute rencontre d'un tiret me renvoi à la ligne. Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    www.exemple-non-domaine.com
    me donne comme résultat d'affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    www.exemple-
    non-
    domaine.com

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/05/2010, 20h47
  2. WPF Afficher un texte avec plusieurs couleur differentes
    Par ZashOne dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 03/01/2008, 01h38
  3. [JTextComponent] Afficher du texte avec style et image
    Par jean_bobi dans le forum Textuels
    Réponses: 9
    Dernier message: 30/10/2005, 14h47
  4. [Javascript] Afficher du texte avec des intervalles
    Par Invité4 dans le forum JavaScript
    Réponses: 4
    Dernier message: 02/01/2005, 22h29
  5. Comment afficher du texte avec swing ?
    Par meda dans le forum AWT/SWING
    Réponses: 8
    Dernier message: 27/10/2004, 15h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo