Aide pour vérifier des différences dans du texte parser

a marqué ce sujet comme résolu.

Hello,

J’ai un petit soucis d’ordre technique, j’ai crée une fonction qui vérifie les différences entre 2 chaînes de caractères, l’une sur un site distant via une API, l’autre dans base de données. Si différence il y a, je prendrai la version qui est différente.

Voici le code php :

<?php
function data($id, $string_database, $string_distant, $type)
{
    if($type == 'nom')
    {
        if(!empty($string_database))
        {
            if($string_database != 'inconnu')
            {
                if($string_database != $string_distant)
                {
                    return $string_database;
                }
            }
        }

        return secu_chars($string_distant);
    }
}

Donc le but ici, c’est de vérifier sur le site distant si le "nom" change.

Par exemple "vie en commuté" => "vivre avec les autres". Il faut aussi que le string "nom" existe sur l’API où je récupère mes données, sinon il renvoie "inconnu".

Mais le soucis c’est que je n’aime pas trop cette fonction. Je ne sais pas trop vous expliquer pourquoi, mais je ne la trouve pas "optimiser", ni vraiment fiable, car j’ai des soucis, soit il ne détecte pas la différence, soit il y a un bug (car j’ai une 20 aines de string à vérifier). En plus, je ne pas utiliser de "debug", voir d’où provient le string que je vais remplacer par exemple.

Pour le debug dégueulasse, je fais : return 'database --- '.$string_database; // return 'distant --- '.$string_database;

Si vous pourriez me donner un conseil pour améliorer cette fonction, je suis preneur :)

Cordialement, Machou

+0 -0

Le premier truc que je vois c’est "S’il y a une différence, je prend la version différente", devient automatiquement, "Je prend la version distante". Si elle est identique, tant mieux, ça ne change rien et si elle change et bien elle sera actualisée. Pas besoin de faire de comparaison.

Ensuite, le reste me semble une question de récupération de la chaîne de caractère.

+2 -0

Il y a 4 états dont 3 impliquant un changement d’état :

  • sA changée, sB non changée
  • sA non changée, sB non changée —> les deux ont changé (pour celui là, il faut vérifier avec la version historique qu’on a sauvegardé ou qu’on a en cache)
  • sA non changée, sB changée
  • sA changée, sB changée
+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte