IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

On s'y perd un peu avec \s ou \n ou \t ou \r


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut On s'y perd un peu avec \s ou \n ou \t ou \r
    quand on des lignes vides comme çà .commente peut on savoir si c'est un \s ou \n ou \t ou \r
    1-y a t'il une possibilité d'afficher si c'est entre </ul> et <h2> il y a comment de \t ou \n ou \r
    j'ai un peu de mal de voir la différence entre \r et \n aussi
    merci pour votre aide

    </ul>



    <h2>Fichiers</h2>
    <ul>
    <li>

  2. #2
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    Salut,
    \r\n -->saut de ligne windows
    \n --> saut de ligne linux

    Pour savoir si un txt est entre balise il faut que tu code une petit fct de reconnaissance de balise...

    Guigo

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    Salut,



    D’après ce que j’ai compris, quand on fait afficher une chaîne, ça passe par un moteur de rendu qui contrôle l’affichage à l’écran. Ce moteur de rendu, cet afficheur, interprète certains caractères qui contrôlent l’affichage : retour à la ligne, tabulation, etc.
    Je n'ai pas plus de renseignements sur le sujet. Cf
    [ame]http://fr.wikipedia.org/wiki/Moteur_de_rendu[/ame]





    Si on veut afficher une chaîne sans que les caractères d’affichage soient interprétés, il faut procéder d’une façon particulière:



    - en Python, il existe une fontion repr() qui commande à l’afficheur de ne pas tenir compte de la signification des caractères spéciaux d’affichage mais d’afficher leur symbolisme tel qu’il apparaît dans une chaîne à l’écriture, c’est à dire deux caractère ’\’ et ’n’ par exemple pour LE caractère symbolisé par ’\n’.

    J’ai cherché deux ou trois fois s’il y a en PHP une fonction similaire à la fonction repr() de Python. Je n’ai pas trouvé.
    Y en a-t-il une , svp ?




    - Je ne sais pas ce que fait exactement la fonction repr() de Python. En tous cas, il existe un autre moyen, qui est peut être ce que fait repr() : il suffit de traiter la chaîne qu’on veut afficher sans interprétation d’affichage afin de modifier les caractères d’affichage.

    Ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ch = “jour\nsemaine“
    print ch
    affichera
    jour
    semaine

    mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ch = “jour\nsemaine“
    ch = ch.replace(’\n’,’\\n’)
    print ch
    affichera
    jour\nsemaine

    Je pense que les fonctions addcslashes() et addslashes() de PHP effectuent ce remplacement.




    S’il n’y a pas de fonction toute prête en PHP, il faut te coder toi même une fonction qui fera l’extinction des caractères d’affichage dans une chaîne

  4. #4
    Membre confirmé
    Avatar de FMaz
    Inscrit en
    Mars 2005
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 643
    Points : 640
    Points
    640
    Par défaut
    Dans certains éditeurs comme NotePad++, tu peux faire Afficher tous les caractères. Ce genre d'option va afficher les caractères invisibles.

    \t, c'est pour des tabulation. en sélectionnant la texte, tu peux rapidement voir si tu en as ou pas.

  5. #5
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Salut,

    Quel rapport avec les regex ?
    Je me doute un peu d'où tu veux en venir, mais précises un peu la question.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    effectivement en ouvrant mon bout de texte avec notepad++ et affichage/symboles speciaux ca affiche le signe des saut de ligne.
    c'est la solution la plus simple .
    merci
    </ul>



    <h2>Fichiers</h2>
    <ul>
    <li>

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par s.n.a.f.u Voir le message
    Salut,

    Quel rapport avec les regex ?
    Je me doute un peu d'où tu veux en venir, mais précises un peu la question.
    dans mon exemple grace à notepad++ je peux savoir qu'il y a 3 saut de ligne dont je peux peaufiner ma recherche avec par exemple \n{3} ou (\r\n){3}

  8. #8
    Membre actif Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Points : 223
    Points
    223
    Par défaut
    Je poste un peux de code...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $str="</ul>
     
     
     
    <h2>Fichiers</h2>
    <ul>
    <li>";
     
    $str = str_replace("\n",'\n',$str);
    $str = str_replace("\r",'\r',$str);
    $str = str_replace("\t",'\t',$str);
    $str = str_replace("\s",'\s',$str);
    print_r($str);
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    \r\n\r\n\r\n\r\n
    Fichiers
     
    \r\n
    \r\n
    Histoire de dire qu'on est sur un forum php.

  9. #9
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par bigs3232 Voir le message
    dans mon exemple grace à notepad++ je peux savoir qu'il y a 3 saut de ligne dont je peux peaufiner ma recherche avec par exemple \n{3} ou (\r\n){3}
    Dans les fonctions PCRE, il existe le meta caractère \s qui correspond à tout caractère blanc, ce qui inclus les exemples que tu as donné. POur les sauts de ligne, il faut bien sûr utiliser le modificateur DOT_MATCH_ALL symbolisé par un s dans la zone des modificateurs.
    Cela peut-il s'appliquer à Notepad++, je ne l'ai pas testé...

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    Grace à l' idée de john .On peut faire comme çà aussi .il me semble
    $str="</ul>



    <h2>Fichiers</h2>
    <ul>
    <li>";
    $a=array("\n","\r","\t" ,"\s");
    $b=array("\\n","\\r","\\t" ,"\\s");
    $str = str_replace($a,$b,$str);
    print_r($str);

  11. #11
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    Grace à l' idée de john .On peut faire comme çà aussi .il me semble
    Ben, je l’ai signalé aussi, 5 heures avant.....

Discussions similaires

  1. Gagner un peu avec son site
    Par vpourchet dans le forum Publicité
    Réponses: 2
    Dernier message: 29/12/2010, 13h35
  2. [VBA-A]Amusons nous un peu avec des mots.
    Par Miss Ti dans le forum Access
    Réponses: 6
    Dernier message: 24/07/2006, 21h13
  3. je m'y perd un peu dans tous ces plugin
    Par Stessy dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 30/09/2003, 23h33

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