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 :

Balises php fermées ou non. [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 283
    Points : 380
    Points
    380
    Par défaut Balises php fermées ou non.
    Bonjour,

    Je me trouve devant un problème assez épineux. Je travail sur un petit script qui me permet de retrouver des informations de couverture de code avec xdebug. Cependant, j'ai besoin d'inclure un fichier php à la fin de chaque fichier à suivre.

    Modifier ces fichiers n'est pas pour moi un problème, je peux modifier mes fichiers pendant mes tests, c'est d'ailleurs ce que je tente de faire. Le souci viens alors du fait qu'un fichier php peux ne pas terminer sa balise php, c'est à dire commencer avec <?php et ne jamais voir le ?> derrière.
    Je retrouve ceci dans une grande partie du projet mais pas tous.

    Existe-t-il un moyen ne serait-ce que de détecter si le fichier php en question termine avec sa balise php fermée ou non ?

    Je dispose bien évidemment du nom du fichier, je peux l'ouvrir, récupérer et modifier son contenu.
    Je suis conscient des problèmes possibles liés aux commentaires (à la fois php et html), c'est pourquoi je préfère demander si cela n'existe pas déjà plutôt que de réinventer la roue et refaire un analyseur php.

    Cordialement,
    Grimly

  2. #2
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Tu rajoutes du code donc, pourquoi ne pas faire ceci dans le code rajouté :
    Ainsi si la balise n'est pas fermée => commentaire
    Si la balise était fermée => parasite HTML "//"

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 283
    Points : 380
    Points
    380
    Par défaut
    Citation Envoyé par transgohan Voir le message
    Tu rajoutes du code donc, pourquoi ne pas faire ceci dans le code rajouté :
    Ainsi si la balise n'est pas fermée => commentaire
    Si la balise était fermée => parasite HTML "//"
    L'idée m'est venu à l'esprit mais le problème viendrais alors du parasite en question. Le résultat est analysé comme du xml par nos tests et ce texte étranger hors de la racine ne permet pas l'analyse du xml.
    Dans le même genre, "<!-- ?> -->" inclus des parasites dans les deux cas et est bien pire.

    L'idée que j'essaie actuellement d'implémenter est la suivante :

    retirer tous les commentaires html (<!-- -->)
    retirer toutes les balises html et balises php fermées (<>, </>, <?[php|=] ?>)
    retirer tous les commentaires multilignes php (/* */)
    retirer tous les commentaires php restants (//)
    retirer toutes les chaines de caractères (" ")
    regarder si il reste une balise php ouverte (<?[php|=])

    C'est un cas vicieux à cause de tous ces types de commentaires valides pas aux mêmes endroits et j'imagine que même mon idée aura des exceptions.
    Si une autre solution existe, elle reste intéressante.

  4. #4
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 283
    Points : 380
    Points
    380
    Par défaut
    Re bonjour,

    Un collègue qui viens d'arrivé m'a aiguillé vers le tokenizer de php et voici donc le résultat de mes recherches fructueuses du web :

    http://php.net/manual/fr/function.token-get-all.php

    Bref, quand on cherche "analyseur", il faut chercher "token"

    J'espère que cela servira à d'autres.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pourquoi Php ferme la balise <p> ?
    Par wattaroo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/11/2010, 16h04
  2. Balises <?php non fermées
    Par bilbonec dans le forum Langage
    Réponses: 2
    Dernier message: 16/09/2010, 18h05
  3. Réponses: 10
    Dernier message: 20/02/2009, 16h47
  4. Balise Php non fermée
    Par Asmodean dans le forum Langage
    Réponses: 4
    Dernier message: 20/06/2007, 13h01

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