MÉLANGE DE LETTRES

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 1 août 2006 à 02:23
soggos Messages postés 1 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 13 janvier 2011 - 13 janv. 2011 à 12:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38876-melange-de-lettres

soggos Messages postés 1 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 13 janvier 2011
13 janv. 2011 à 12:44
Tout simplement génial,de grands Merçi @Jayadeva
merçi aussi @hrz pour sa couvée très sympha ...
'chaqu'un voit midi à sa porte'
cs_hrz Messages postés 43 Date d'inscription samedi 12 juillet 2003 Statut Membre Dernière intervention 4 avril 2010
8 févr. 2007 à 18:41
salut

juste pour l'idee, un principe suite a la lecture d'un article j'ais " pondu " sur le coin du clavier un script du genre pour rire un peu n'en deplaise au puristes ;)
je le passe ici comme une autre facon de faire et sans autres idees en tete
<html>
<head>
<title></title>
<link rel="StyleSheet" href="style.css" type="text/css">
</head>

<?php
function melange($texte) { // la fonction qui melange
$Mot=split("[\'/.-=<> ]",$texte); // on extrait chaques mots de la chaine
foreach($Mot as $a) { // pour chaque mots
$a=trim($a); //
$long=strlen($a); // longueur du mots
if ($long>=3) { // si >3
$chaine=substr($a,1,$long-2); // on extrait la partie centrale
$chaine=str_shuffle($chaine); // on melange les lettres
$a=substr_replace($a,$chaine,1,$long-2); // et on replace dans la chaine d'origine
}
print $a." "; // la chaine est affichee
}
}
if (empty($_REQUEST[TexteAConvertir])) {
$TexteAConvertir="Faite le test pour l'afficher ensuite ";
}else{
$TexteAConvertir=$_REQUEST[TexteAConvertir];
}
?>



Sleon une édtue de l'Uvinertisé de Cmabrigde,
l'odrre des ltteers dnas un mto n'a pas d'ipmrotncae,
la suele coshe ipmrotnate est que la pmeirère et la drenèire soeint à la bnnoe pclae.

Le rsete peut êrte dnas un dsérorde ttoal et vuos puoevz tujoruos lrie snas porlbème.

C'est prace que le creaveu hmauin ne lit pas chuaqe ltetre elle-mmêe,
mias le mot cmome un tuot.






<form action="<?php echo $_SERVER['PHP_SELF']; ?>" name="hortopraphe" method="get">
<TEXTAREA NAME="TexteAConvertir" ROWS=4 COLS=30 ">
Faite le test pour l'afficher ensuite
</textarea>



</form>




le texte brasse =>


<?php echo melange($TexteAConvertir); ?>






</html>
c'est utilisable en ligne
http://hrz.free.fr/hortographe/hortographe.php

ta facon de faire n'est pas mal quand meme :)
stepibou Messages postés 112 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 11 octobre 2006
2 août 2006 à 20:56
salut,

ouai ok, dans ce sens pas trop d'interet,
Mais ce serai plutot dans l'autre sens :
corriger les fautes de frappe!
un correcteur ortographique en quelque sorte.

Sinon, je suis pas fan du tout des endif; (ca pourrai pas plutot etre end if;) Mais bon chacun ses gouts.
Je prefere des accolades bien stucturés : certain bon logiciels d'edition, metent des crochets sur la gauche pour encardrer le tout, et meme masquer ou afficher avec un petit (+-).

Je ne donnerai pas le nom pour ne pas faire de la pub lol.

a+
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 1 septembre 2008
2 août 2006 à 16:30
Voilà, j'espère que c'est aux normes maintenant (^-^)
TheSin Messages postés 331 Date d'inscription mardi 12 novembre 2002 Statut Membre Dernière intervention 10 février 2009
2 août 2006 à 15:08
un unset ($argv[0]), $phrase = implode ( ' ', $argv ), et un $mots = explode ( ' ' , $phrase ), ca ira niveau temps d'exécution en console je crois ;)

@Jayadeva : ton code n'est peut-être pas pour la distribution, mais jte conseille de tout de suite faire propre, ça évite de perdre bcp de temps ^^
Enfin ... suis les conseils de Naixn, je vais pas te répéter ce qu'il a dit si bien ;-)
C'est toujours difficille au début le respect des standard et le code propre du premier coup, mais une fois qu'on a pris l'habitude, ça devient inné et on comprend même pas pourquoi y'en a qui codent mal :-)
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 1 septembre 2008
2 août 2006 à 12:56
Oui, il y a toujours des extrèmes. Et pour te rassurer, je ne code pas mal au début pour remettre au propre ensuite. Mais plutot je code en gros ce que je veux puis j'optimise.
C'est ma manière de travailler.
Généralement c'est d'abord une version 0.x, parce qu'elle est incomplette, lente, sale ... Mais elle fonctionne.
Puis lorsque j'ai vérifier mes erreurs, arranger le code, ajouter les fonctionnalitées que j'attendais, alors seulement je passe en version 1.x qui symbolise une certaine stabilitée.

Pour le moment, j'essaye de voir comment faire pour avoir un array avec que des mots si jamais un boulet demande : "bonjour ceci est" ma phrase.
Si une telle requete est passée au script actuelle, argv ressemblerai a ceci :
array (
0 => "./shuffle.php",
1 => "bonjour ceci est",
2 => "ma",
3 => "phrase.",
)

C'est évidement pas bon. Cependant, je ne vois pas d'autres solutions que de parser 2 fois argv ...
Naixn Messages postés 455 Date d'inscription mardi 17 septembre 2002 Statut Membre Dernière intervention 22 juillet 2007
2 août 2006 à 10:14
Jayadeva > Justement, si ça intéresse des personnes, ça intéresse peut-être aussi des personnes qui prennent les codes sans se soucier des commentaires sur la source.
Ce qui fait que les personnes intéressées vont prendre ton code, et plus tard, quand ça ne marchera pas, ils passeront du temps à débugguer :p

Le respect des standards, ce n'est pas une attitude à adopter quand tu te lances dans une distribution, mais ce devrait être une habitude.
Ce devrait être une façon de coder que tu t'astreindrais de respecter au début, jusqu'à ce que celà devienne une réelle habitude. Mine de rien, s'efforcer de respecter une certaine norme permet de penser plus proprement, et d'imaginer de nouvelles façons de faire...

D'ailleurs, je ne comprends pas les gens qui codent mal d'abord, pour mettre au propre ensuite, au lieu de coder proprement dès le début.
Déjà, d'une, ça fait perdre du temps, parceque plus le projet est gros, plus changer le code est risqué, et de deux, il peut toujours subsister des erreurs...

Bref bref ^^
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 1 septembre 2008
1 août 2006 à 15:47
Non, vous me comprennez mal ;)

Ce code n'est pas pour la distribution. C'est un code que j'ai fait sur un coup de tête et que j'ai foutus ici pour le partager. Peut-être que ca peut intéresser des gens ?

Bref, le respect des standards est là si j'ai l'idée de me lancer dans une distribution ... Là, non.
Ca me prendrai en effet pas grand chose comme temps. Et je le ferai surment en local. Mais je ne vais pas venir poster une nouvelle version de mon fichier a chaque fois que je le modifie, surtout que c'est dans un but local et non pas global.

Donc, pour ceux qui veulent être dans les standards il vous suffit de faire un ctrl+r (remplacer) dans votre éditeur préférer.
Recherchez {$i} que vous remplacerez par [$i].
Recherchez {$tlen} que vous remplacerez par [$tlen].
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
1 août 2006 à 15:38
"Quelques fois, des choses super mal faites rassemble les gens et d'autres bien écrites n'attire personne."
N'importe quoi, c'est pas au nombre de commentaires sur une source qui fait un rassemblement. C'est le fait qu'il soit bien codé, lisible et qui marche.
Si je ne fais aucun commentaire sur une source, ca veut dire que j'ai rien à lui reprocher. L'inverse par contre c'est que la source est mal foutue.

"Tant qu'un code est lisible et qu'il fonctionne ça va." Et c'est avec ce genre de comportement que quelques années plus tard (voir quelques mois), les gens reviennent sur le forum pour dire :
Pourquoi mon code il marche plus ?? ouin ouin ouin !!!

Voila ce qu'on essaye d'éviter :)


"Ici, il n'y a pas lieu a dire que une telle utilisation est dépréciée... Les '{}' ne partirons qu'à partire de php6, nous avons donc du temps devant nous."
Ca s'appèle de la prévention. Ca te prend même pas 2 sec le temps de changer {} en []... alors que si t'attends PHP, tu ne te rappeleras pas forcément de le faire et tu va passer 5 min à débugguer (pour peu que ton site soit pas énorme !)

Alors, 5 min ou 2 sec ?
Moi j'ai vite choisi !
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
1 août 2006 à 15:34
... Je trouve ca dommage le monde qui dit que ça fonctionne sans se mettre à jour aux standards...
Depuis PHP5.1 c'est déprécié mais cela n'affiche plus de warning...

Je l'ai dit voilà, à toi de prendre ou ne pas prendre le commentaire...

Pourquoi je te l'ai dit ? justement parce que ton code semble bien et tu semblais te soucier des standards... mais on dirait bien que non
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 1 septembre 2008
1 août 2006 à 15:22
Pourtant, ça fonctionne ...

Quelques fois, des choses super mal faites rassemble les gens et d'autres bien écrites n'attire personne. Tant qu'un code est lisible et qu'il fonctionne ça va. Le reste c'est personnel.
Ici, il n'y a pas lieu a dire que une telle utilisation est dépréciée... Les '{}' ne partirons qu'à partire de php6, nous avons donc du temps devant nous.

Bref, ce morceau de code est quelque chose de personnel. Je ne vois phpcs que comme un échange d'idées. Ceci est une idée, a vous de l'utiliser ou non. De changer le code ou non.

Dans un projet a but de distribution. Dans un projet pro ou amateur pour des outils sympa de productions. Oui, c'est un commentaire avisé et précieux. Mais je ne pense pas modifier mon code pour si peu...

NOTE : Si le caractère « ! » ne passe pas en ligne de commande bash, il faut désactiver l'historique avec bash +H.
Le truc a faire est de créer un fichier bash qui va appeller le fichier php. Dans l'entête du fichier bash, vous devrez mettre ceci :
#! /bin/bash +H

---
Exemple:
$ echo "test !"
bash: !": event not found
$ bash +H
$ echo "test !"
test !
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
1 août 2006 à 14:48
Le code est bien écrit
Par soucis de bien écrire, je te donne un petit hint :)
l'utilisation de { } pour sélectionner un caractère dans une variable string est maintenant déprécié
-> $ponctuation{$i} devrait être $ponctuation[$i]
stef1589 Messages postés 44 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 27 mars 2008
1 août 2006 à 11:29
ouai pourquoi pas c est un e bonne idee a developper
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
1 août 2006 à 02:23
Hé mais ça pourrait remplacer les images de nombres dans les pages anti-robots ça :^)
Rejoignez-nous