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
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 581
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 581
    Points : 21 188
    Points
    21 188

    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
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    4 663
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 4 663
    Points : 11 918
    Points
    11 918

    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
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    10 581
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 10 581
    Points : 21 188
    Points
    21 188

    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é)
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  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
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    4 663
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 4 663
    Points : 11 918
    Points
    11 918

    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
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    4 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 4 386
    Points : 10 877
    Points
    10 877

    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);
    # Dans la Création, tout est permis mais tout n'est pas utile...

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

Discussions similaires

  1. Puis-je simplifier ce script de classement par ordre alphabétique ?
    Par Alorslaçaprogramme dans le forum PHP & MySQL
    Réponses: 14
    Dernier message: 23/09/2015, 12h19
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum CMS
    Réponses: 187
    Dernier message: 18/10/2012, 08h45
  3. script envoi mail simplifié
    Par kingbastard dans le forum JavaScript
    Réponses: 21
    Dernier message: 27/05/2008, 10h42
  4. Comment simplifier mon script ?
    Par MMO95 dans le forum Fonctions
    Réponses: 7
    Dernier message: 09/01/2007, 01h21

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