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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Script acrostiche simplifié


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Curieux
    Inscrit en
    Décembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2017
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Script acrostiche simplifié
    Bonjour à tous,

    je viens vers vous afin d'obtenir de l'aide pour un petit script que j'essaie de coder depuis déjà pas mal de temps.
    Je ne travaille pas dans le développement web, je m'auto-initie au php par curiosité.

    Mon niveau n'est pas très élevé, même si je suis satisfait des quelques progrès que je fais. Je ne pense pas avoir véritablement la fibre programmation mais je ne me décourage pas.

    En ce qui concerne mon problème, je tente de créer un script qui me permettrait de remplacer chaque lettre d'un mot par une constante relative à la lettre. (j'espère être clair )

    Exemple:

    moto >
    • m = mammouth
    • o = ouistiti
    • t= tortue
    • o= ouistiti


    En gros il s'agit d'un système d'acrostiche un peu simplifié.

    Mes différentes tentatives m'ont conduit à utiliser 'str_split' pour découper le mot en tableau, créer un autre tableau associatif avec des constantes a = abeille, b= baleine,...
    Mais j'avoue que je ne comprends pas trop comment pouvoir faire en sorte que le script permette de sortir le résultat.

    Je remercie par avance celles et ceux qui m'accorderont un peu d'aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    ça peut faire penser à ça :


    moto > mike oscar tango oscar

    III-B. Alphabet Radio : Les fichiers : il te suffit de changer $table2.
    Astuce : au lieu de mots, on peut aussi y mettre des phrases (voire des paragraphes), commençant par la bonne lettre


    “A l'origine de toute connaissance, nous rencontrons la curiosité ! Elle est une condition essentielle du progrès.”
    Alexandra David-Néel
    “La curiosité mène à tout : parfois à écouter aux portes, parfois à découvrir l'Amérique.”
    José Maria Eça de Queiros

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Il y'a 2 étapes pour réaliser ce que tu veux.

    Dans un premier temps il faut faire un tableau contenant toutes les corrspondances :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $correspondances = array(
        'a' => 'alice',
        'b'=>'bob'
    );
    Puis dans un second temps , il faut regarder chaque lettre de ta chaine pour afficher la correspondance. Ca peut être fait très simplement avec une boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $str = "moto";
    $size = strlen($str);
    for($i = 0; $i < $size; $i++)
    {
        $lettre = $str[$i]; // une chaine peut être itérée comme un tableau
        echo $correspondances[$lettre]; // on recherche la correspondance de la lettre. Attention aux erreurs si la correspondance n'existe pas
        echo ' '; // on ajoute un espace pour la présentation
    }
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Invité
    Invité(e)
    Par défaut
    @grunk

    Voui voui voui.....


    ....ou en cliquant sur mon lien, on arrive à mon tuto.... ....où on trouve des tables de correspondances et une fonction d ENCODAGE qui fait le job
    (cela dit, c'est vrai qu'il date un peu, et gagnerait à être optimisé)

  5. #5
    Candidat au Club
    Homme Profil pro
    Curieux
    Inscrit en
    Décembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2017
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Super, je vais pouvoir analyser ça !

    un grand merci !

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    @grunk

    Voui voui voui.....


    ....ou en cliquant sur mon lien, on arrive à mon tuto.... ....où on trouve des tables de correspondances et une fonction d ENCODAGE qui fait le job
    (cela dit, c'est vrai qu'il date un peu, et gagnerait à être optimisé)
    C'est juste que pour quelqu'un qui n'a pas la fibre de la programmation c'est trop compliqué à lire , trop de code, trop de fonction
    J'ai été à l'essentiel pour qu'il puisse comprendre le principe général.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    si tu dois manipuler du texte UTF-8, le code de l'ami grunk n'est pas compatible.
    Voici l'équivalent utf-8 compatible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $word    = 'moto';
    $letters = preg_split('//u', $word, null, PREG_SPLIT_NO_EMPTY); // tableau des lettres utf-8 compatible
    $replace = [
        'm' => 'mammouth',
        'o' => 'ouistiti',
        't' => 'tortue'
    ];
     
    $new = array_map(function($v) use ($replace) { return $replace[$v] ?? ''; }, $letters);

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

Discussions similaires

  1. [MySQL] Puis-je simplifier ce script de classement par ordre alphabétique ?
    Par Alorslaçaprogramme dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 23/09/2015, 11h19
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. script envoi mail simplifié
    Par kingbastard dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 27/05/2008, 09h42
  4. Comment simplifier mon script ?
    Par MMO95 dans le forum Langage
    Réponses: 7
    Dernier message: 09/01/2007, 00h21

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