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 :

Différences dans un texte


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut Différences dans un texte
    Bonjour,

    J'aimerais pouvoir détecter les différences dans un texte.
    Par exemple:

    Ceci est mon texte initial
    et
    Ceci est mon beau texte initial mais modifié
    J'aimerais surligner "beau", "mais modifier".

    Je ne vois pas trop comment m'y prendre, j'ai pensé à faire lettre par lettre, et dès que j'ai une différence je surligne jusqu'à... je ne sais pas quand.
    Sinon j'ai voulu tenter un explode " " et comparer un élément du tableau avec le suivant mais dans le cas du "beau", il va dire que "texte" diffère de "initial" (position 4).

    Comment feriez-vous?

    Merci

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonsoir,

    Essaye avec array_diff :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $a = 'Ceci est mon texte initial';
    $b = 'Ceci est mon beau texte initial mais modifié';
     
    $c = explode(' ', $a);
    $d = explode(' ', $b);
     
    $e = array_diff($c, $d);
    $f = array_diff($d, $c);
     
    $final = array_merge($e, $f); //$final = array('beau', 'mais', 'modifié')
    ?>

  3. #3
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Merci rawsrc

    J'avais vu cette fonction mais imaginons que ma phrase modifiée soit:

    Mais ceci est mon beau texte initial mais modifié
    Je vais me retrouver avec deux mais, sans pouvoir les replacer dans la phrase (pour ensuite surligner aux bons endroits)?

    EDIT: Ah non en fait il compte bien les deux mais Je vais voir merci!

  4. #4
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    En fait c'est bien ça:

    $a = 'Mon ceci est mon texte initial';
    $b = 'Mais mon ceci est le beau texte modifié';

    Il ne voit que 1 "mon", alors qu'il y en a deux...

  5. #5
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    array_diff() c'est le moyen le plus simple pour comparer tes textes. Moyen limité, certes, mais ce que tu veux nécessite de développer un analyseur syntaxique et crois-moi c'est beaucoup plus complexe.

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 351
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 351
    Billets dans le blog
    17

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/06/2013, 11h40
  2. Réponses: 5
    Dernier message: 23/06/2012, 18h11
  3. [ Vector Fichier ] Vector dans fichier texte
    Par geegee dans le forum Langage
    Réponses: 5
    Dernier message: 21/05/2004, 13h56
  4. Insertion dans fichier texte + rapide que TStringList ?
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 26/02/2004, 11h34
  5. Que privilégier : %like% dans champs texte, ou plain text ?
    Par Dimitri01 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/01/2004, 11h45

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