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 :

Trouver les differences entre deux chaines


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Trouver les differences entre deux chaines
    bonjour
    je souhaite comparer deux string contenant du code html.
    string 1 est le texte orioginal
    string 2 est la version corrigée

    Suite à la comparaison des string je souhaiterai visualiser les modifs en associant un style à chaque groupe de difference, encadrer les modif de balise span.
    je souhaiterai definir un ensemble de variables pour definir des groupes de caratère à ne pas comparer (tag hml de mise ne page)

    Comment aborder le probleme, quelles fonctions, quelle logique ??


    merci d'avance

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    ton problème semble bien complexe. Tout d'abord est-ce que tu dois interpréter le html (donc ajouter tes balises span dans ton arbre DOM (je veux dire par là que l'arbre complet doit être valide)) ou bien tu traites ton html comme une chaîne de caractères ? Au final, tu affiches le code html (en interprétant juste tes span) ou bien tu l'interprètes complètement ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut suite...
    je dois intepreter l'ajout des balises span+css pour que le moderateur puisse visualiser les modifs et valider ou non la version.
    j'ai deja testé et adapté differentes solutions mais je n'ai rien trouver de performant qui puisse differencier le fond et la forme

  4. #4
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Désolé, ce n'est toujours pas clair (enfin pour moi).

    Au final, le modérateur voit le code HTML ou bien la page interprétée ?

    Si le modérateur voit le code HTML (cas le plus simple), tu peux faire un simple parcours de chaîne caractère par caractère, à chaque caractère différent tu insères un span (mais faut pouvoir repérer la clôture de modification)

    Si le modérateur voit l'interprétation du code :

    Quelles peuvent être les différences entre tes 2 pages ?
    - Seulement des différences textuelles, à savoir le innerHTML d'un noeud (autrement dit les noeuds DOM de type TEXT_NODE) ?
    - ou bien les balises HTML peuvent également changer ?

    Dans le premier cas, le plus simple serait sans doute d'utiliser un parser DOM. Tu parcours les 2 arbres et tu compares tous les TEXT_NODE. A chaque différence t'insère un noeud span.

    Dans le 2e, l'idée serait la même que dans le 1er mais le problème est que tu ne peux pas insérer un noeud span n'importe où. Enfin, tu peux mais il ne sera pas forcément visible à l'écran (par exemple en tant que parent d'un tr).

    Dans tous les cas la difficulté semble être surtout de définir la clôture de la modification et je ne crois pas que l'utilisation des regex soit la méthode la plus simple.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut merci de l'orientation
    Mon cas est dans dans le premier cas, et le plus simple est sans doute d'utiliser un parser DOM comme tu le dis si bien.
    Merci beaucoup pour m'enlever des doutes et m'eclaircir la "route" à prendre

Discussions similaires

  1. difference entre deux chaines de caractères char*
    Par mandrain dans le forum Débuter
    Réponses: 2
    Dernier message: 12/06/2014, 18h51
  2. Trouver les dates entre deux dates
    Par lilp1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/05/2009, 16h05
  3. [RegEx] Récupérer ce qu'il y a entre deux chaines (toute les occurences)
    Par greg1107 dans le forum Langage
    Réponses: 3
    Dernier message: 23/01/2008, 14h48
  4. Réponses: 14
    Dernier message: 25/11/2007, 18h32
  5. Réponses: 7
    Dernier message: 03/02/2006, 13h50

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