exercice Fonction de censure en PHP

Wazz9

Membre
Bonjour à toutes et à tous !

Le dernier exercice datant un peu je vous propose un nouvel opus.
Objectif : Créer une fonction de censure de lettres et de mots
Requis dans la fonction :
  • remplacer certaines lettres par des astérisques *
  • remplacer certains mots par d'autres
Texte de travail (extrait de Barbara de Jacques Prévert)
Rappelle-toi Barbara
Il pleuvait sans cesse sur Brest ce jour-là
Et tu marchais souriante
Épanouie ravie ruisselante
Sous la pluie
Rappelle-toi Barbara
Il pleuvait sans cesse sur Brest
Et je t’ai croisée rue de Siam
Tu souriais
Et moi je souriais de même
Rappelle-toi Barbara
Toi que je ne connaissais pas
Toi qui ne me connaissais pas
Rappelle-toi
Rappelle-toi quand même ce jour-là
N’oublie pas
Un homme sous un porche s’abritait
Et il a crié ton nom
Barbara
Et tu as couru vers lui sous la pluie
Ruisselante ravie épanouie
Et tu t’es jetée dans ses bras
  1. Chaque Barbara du texte devra être remplacé par Barbapapa
  2. Chaque lettre a du texte sera remplacé par un astérisque * sauf dans le mot Barbapapa
Délai de réalisation : 7 jours soit jusqu'à vendredi 12 Février

Le code produit par chaque participant devra être exécutable sur le PHP Try It de W3Schools.

Bonne chance à tous !
 

Wazz9

Membre
Je précise, cet exercice n'est pas un exercice de rapidité, l'essentiel est de tenir le délai de 7 jours pour produire votre code.
Ceux qui réussissent l'exercice plus rapidement peuvent présenter leur code dès qu'ils le veulent mais en utilisant la fonction spoiler.

Code
Ha ha !
Non je n'ai pas encore la réponse !
 

Nicolas

Membre actif
Cette fois-ci tu participes Môssieur l'organisateur !
je savais pas que tu n'aimais pas Prévert... pauvre Barbara transformée en Barbapapa !!


Pour les participants, la clef de l'énigme se trouve dans la doc PHP 👾
 
Dernière édition:

DaCode

Membre
Pourquoi il n'existe pas encore un code aussi simple que
Code
if <Barabara> then replace by <Barbapapa>
if <a> then <*> but not in <Barbapapa>
??
 

Wazz9

Membre
Oui Nicolas je joue cette fois-ci !

L'exercice n'est pas un concours mais malgré tout, si plusieurs personnes trouvent la solution (ce dont je ne doute pas) on élira le meilleur codeur celui qui aura utilisé le moins de ligne de code pour réaliser le projet :)
C'est juste histoire d'épicer un peu l'exercice, d'ailleurs il faut que je m'y mette car j'ai encore rien fait.
 

Ziggy

Membre
Deux lignes de code seulement pour cette fonction ?

Excuse Me Reaction GIF by Mashable
 

yule

Membre
Arrêté !!!😅 Chaque fois vous me faites douter et je relis l'énoncer de Wazz9 pour être certain d'avoir compris ce qu'il fallait :ROFLMAO: :ROFLMAO:

Je viens de le faire, c'est bien deux lignes de code + une ligne pour ajouter le résultat

Mais... sur ce coup, c'est moi qui ai fait une Nicolas... en relisant encore une fois, je réalise qu'il faut une fonction et pas des lignes de codes..

Donc la fonction prendra bien plus de lignes qu'un simple code pour résoudre tout ceci

etamfrenchliberte failbutsmile GIF by ETAM
 

yule

Membre
Ok c'est fait mais je ne vais pas mettre mes réponses avant vendredi 🤓 (1x en code et 1x avec une fonction)

Donc c'est bien 2 lignes de codes + une ligne pour afficher le résultat en code normal et pour la fonction avec les {} (a chaque fois une ligne) c'est 8 lignes avec l'affichage du résultat

Pour moi une fonction c'est ce genre de chose
PHP
<?php
function faireunyaourt ($flavour, $type = "acidophilus")
{
    return "Préparer un bol de $type $flavour.\n";
}
echo faireunyaourt ("framboise");   // va afficher => Préparer un bol de acidophilus framboise.
?>

Le nombre de ligne , c'est juste pour mettre un peu de piment et de pression.. bon après, tu peux tout mettre sur la même ligne 🤪 Plus sérieusement, il serait sympa d'en discuter vendredi prochain, en toute modestie, j'ai toujours pas compris la difficulté de la chose, quand vous verrez la réponse... vous comprendrez. Sinon, ma compréhension me joue des tours..

Bonne bonne
Yule
 
Dernière édition:

yule

Membre
Si j'écris le code, je donne la réponse, petit malin mikadox :ROFLMAO:

Si tu veux, la fonction est "fixe" et tu y fais appel avec le texte que tu veux y passer pour éviter de tout retaper
PHP
function faireunyaourt ($flavour, $type = "acidophilus")
{
    return "Préparer un bol de $type $flavour.\n";
}

echo faireunyaourt ("framboise");   // va afficher => Préparer un bol de acidophilus framboise.
echo faireunyaourt ("fraise");   // va afficher => Préparer un bol de acidophilus fraise.
echo faireunyaourt ("cerise");   // va afficher => Préparer un bol de acidophilus cerise.
echo faireunyaourt ("pomme");   // va afficher => Préparer un bol de acidophilus pomme.
 

mikadox

Membre
Si j'écris le code, je donne la réponse, petit malin @mikadox
Non je parlais de ta fonction Yaourt.
Je sais ce qu'est une fonction et à quoi ça sert, ce que je ne comprends c'est la différence que tu fais entre une fonction et des lignes de code c'est pourquoi je te demandais comment tu écrirais ta fonction Yaourt en lignes de code comme tu dis... Là franchement je ne sais pas la différence.
 

yule

Membre
Là franchement je ne sais pas la différence.
OK je comprends, c'est pour cela que je le précise car je sais pas si dans l'énoncer de Wazz9 une "fonction" c'est

utiliser une fonction de ce genre strtolower (tout mettre en minuscule..code simple)
PHP
$str = "Marie A un Petit Agneau, et l'aime TRès fORt.";
$str = strtolower($str);
echo $str; // marie a un petit agneau, et l'aime très fort.

ou créer une fonction faireunyaourt
PHP
function faireunyaourt ($flavour, $type = "acidophilus")
{
    return "Préparer un bol de $type $flavour.\n";
}
echo faireunyaourt ("framboise");   // va afficher => Préparer un bol de acidophilus framboise.

Un fonction en php c'est tout et rien... J'espère avoir été plus clair dans mon explication
 

Ziggy

Membre
Du coup comment on fait si on débute en PHP et qu'on bloque sur un truc ?
J'essaie de trouver la solution au problème mais si je pose des questions ici je vais mettre sur la voie ceux qui cherchent encore... Mais je vais tout de même pas poser mes questions sur un autre forum, c'est bête.
 

Nicolas

Membre actif
Pose tes questions ici, t'embête pas.
C'est un petit exercice pas un concours et de toutes façons il n'y a pas 36 façons de régler ce problème de censure. Si tu bloques sur un point on peut t'aider et tu continues à avancer. (y)
 

DaCode

Membre
Pour ceux qui seraient un peu perdu dans le code vous pouvez consulter ce tutoriel PHP de Grafikart
Vidéo 9 "Les fonctions" à 28min00.
 

Ces discussions pourraient vous intéresser...

Hello, Quand j'essaie de connecter mon fichier PHP à la base de données sur mon serveur local cela ne fonctionne pas. (site WordPress) ERROR ESTABLISHING A DATABASE CONNECTION Pourtant mes éléments sont bons, j'ai vérifié et revérifié. Je vous colle le code du fichier PHP...
Yo ! J'ai une div sans bordure remplie de cellules horizontales auxquelles j'applique une bordure sur le bord bas pour les séparer entre elles. Le problème c'est que la dernière je ne veux pas de bordure basse puisqu'il n'y a plus de cellule sous elle. Je n'ai pas la main sur le HTML...
Recevez-vous ce type d'erreur avec vos fichiers PHP ? ErrorException: Method ReflectionParameter::getClass() is deprecated Des infos à ce sujet ? :unsure: Merci.
Haut