Résultats de 1 à 4 sur 4

Sujet : Indentation du texte !!!

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    2 538

    Indentation du texte !!!

    Salut à tous,

    VOila j\'aimerais pouvoir utiliser l\'indentation sur ce forum afin que les balises de \"codes\" de balise puissent utiliser des tabulations, mais je ne vois vraiment pas comment faire

    Si vous avez une idée ??
    Admin retraité du site MoteurProg.Com" la meilleur façon de remercier est de pouvoir aider les autres à son tour !! "http://www.moteurprog.com

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    18
    Pour l\'instant il y a aussi un problème avec l\'affichage de plusieurs espaces à la suite, mais c\'est aussi pris en compte dans les exemples qui suivent.

    Je vois plusieurs solutions, classées en 2 catégories.

    1/ Celles qui remplacent les espaces et les tabulations par des \" \" :

    - PHP dispose nativement d\'une fonction qui colorise le code PHP (uniquement) et qui a l\'avantage d\'indenter rapidement quelque soit le langage.

    Code:
    <?php
    
    highlight_string($string);
    
    ?>
    - Le BBCode de phpBB optimise la taille du code généré, il évite les répétitions pompeuses de \" \" en les alternant avec des espaces. Les tabulations en début de ligne sont remplacées par des \"   \". Ca convient dans tous les cas mais c\'est plus gourmand en ressources. En voici une version adaptée, attention les \' \' doivent en fait contenir 2 espaces !!

    Code:
    <?php
    
    $string = htmlspecialchars($string);
    $string = str_replace(\'  \', \'  \', $string);
    $string = str_replace(\'  \', \'  \', $string);
    $string = str_replace(\"\\t\", \'   \', $string);
    $string = preg_replace(\"/^ {1}/m\", \' \', $string);
    echo nl2br($string);
    
    ?>
    2/ Les \"astuces html\", que je préfèrerais utiliser car pratiquement pas de PHP n\'est sollicité :

    - La balise <pre> : le texte contenu entre <pre> et </pre> est affiché tel qu\'il est présenté dans le code html. C\'est vrai qu\'il existe aussi une balise <code> mais elle est moins adaptée.

    Code:
    <?php
    
    echo \'<pre>\' . htmlspecialchars($string) . \'</pre>\';
    
    ?>
    - Comme on veut afficher le code encadré, pourquoi ne pas utiliser la balise <textarea> flanquée de l\'attribut \"readonly\", qui fonctionne comme <pre>. Par contre sa hauteur ne s\'adapte pas à la longueur du code, elle est fixée à l\'avance par l\'attribut \"rows\", ça peut être un avantage comme un inconvénient selon ce qu\'on souhaite obtenir.

    Code:
    <?php
    
    echo \'<textarea cols=\"60\" rows=\"20\" readonly>\' . htmlspecialchars($string) . \'</textarea>\';
    
    ?>
    Voilà y\'a plus qu\'à choisir dans tout ça, à moins qu\'il y ait encore autre chose ! Personnellement j\'utiliserais <pre>, entièrement personnalisable avec les styles css, contenue dans la <td>. Pourquoi faire compliqué ?

    :lol:
    Un peu de zik pour se détendre ? www.newborn-division.com !

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    2 538
    ok je te remercie ta réponse est vraiment très précise, je regarde ça ce soir et je fais la modif !!

    Encore merci
    Admin retraité du site MoteurProg.Com" la meilleur façon de remercier est de pouvoir aider les autres à son tour !! "http://www.moteurprog.com

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    329
    Je te conseille d\'avantage la solution avec les balises pre, que j\'utilise aussi. Le seul problème vient du fait que si le texte inséré est trop long la largeur du conteneur est augmentée automatiquement, donc il faut veiller à régler correctement les attributs CSS ou XSLT des balises

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé
Please disable Adblock!