Vous n'êtes pas connecté.
Pages: 1







Salut, j'utilise des preg_replace() pour faire des remplacements. Dans la même page, j'en ai deux. L'un fonctionne correctement, et l'autre pas en entier.
J'ai en fait deux tableaux, il faut remplacer les valeurs de l'un par celles de l'autres. Je définis ce qu'il faut remplacer :
$remplacer = array($remplacer[0] = '#%TITLE%#', $remplacer[1] = '#%DATE%#', $remplacer[2] = '#%HOUR%#', $remplacer[3] = '#%AUTHOR%#', $remplacer[4] = '#%MSG%#');
Et voici par quoi cela doit être remplacé, c'est le résultat d'une requête sur ma bdd.
Array ( [title] => My_Title [date] => 2007-02-10 [hour] => 00:10:23 [sender] => Mistic War [message] => Ceci est le premier message ! HELLO WORLD ! [answers] => 0 [hidden] => 0 )
Donc là il remplace %TITLE% et %DATE%, mais pas le reste. et si je met par exemple %HOUR% à la place de %DATE%, alors il remplace le titre et l'heure. Donc en gros il remplace que les 2 premiers des tableaux. Pourtant on voit bien sur mes deux listes données ci-dessus qu'il y a plus de 2 données dans chaque tableau.
Pourquoi ne remplace-t-il pas tout ?
Salutations
TOP Hors ligne


Mistic Warrior a écrit:
Code:
$remplacer = array($remplacer[0] = '#%TITLE%#', $remplacer[1] = '#%DATE%#', $remplacer[2] = '#%HOUR%#', $remplacer[3] = '#%AUTHOR%#', $remplacer[4] = '#%MSG%#');
J'ai comme l'impression que tu veux utiliser PHP sans prendre la peine de l'apprendre Mistic : achéte un bon bouquin et plonge-toi dedans, c'est pas la première fois que tu postes un topic parce que tu as essayé qqch au hasard qui ne marche pas.
Soit tu définis ton tableau comme ceci :
$remplacer[0] = '#%TITLE%#'; $remplacer[1] = '#%DATE%#'; $remplacer[2] = '#%HOUR%#'; $remplacer[3] = '#%AUTHOR%#'; $remplacer[4] = '#%MSG%#';
soit comme ceci :
$remplacer = Array('#%TITLE%#', '#%DATE%#', '#%HOUR%#', '#%AUTHOR%#', '#%MSG%#');Ce dernier code étant plus compact et donc plus conseillé.
Mais pas les deux en même temps.
En espérant que la prochaine fois, tu auras un pb qui ne sera pas lié à des pb de base qui ne peuvent s'acquérir que par la lecture 
TOP Hors ligne







En même temps, j'avais du faire cette erreur une fois, il y a 25 "array()" en arrière, genre une faute de copie en regardant un autre code. Et j'ai sous la main 3 codes qui fonctionnent, avec un "array()" définit comme donné ci-dessus, dont un qui apparaît exactement la même chose que celui qui me pose problème, et dans le même script (Deux lignes en-dessus).
J'ai pas appris un livre de php, ni lu séparément comment fonctionnaient toutes les fonctions php. Pour moi ça revient un peu au même qu'utiliser un dictionnaire: J'ai besoin d'un mot ou d'un synonyme, alors je le cherche dans le dictionnaire et regarde éventuellement les nuances ou les exceptions dans l'utilisation. Il arrive de retenir un mot, ou alors de le confondre avec un autre, ou encore de ne plus se souvenir d'une nuance dans l'accord de celui-ci. En l'occurence je n'avais pas fait attention à la nuance entre les deux façons de définir un tableau la première fois. Et puisque le code passait dans 3 scripts, je l'avais considéré comme correct et l'avais mémorisé ainsi. C'est peut-être une certaine "flemme" et un raisonnement "au hasard", mais je ne me sens pas prêt à apprendre le dictionnaire avant d'écrire un texte dans une langue. 
Non j'ai pas de livre, faudrait peut-être que j'investisse... C'est vrai que c'est des fois plus agréable à chercher que sur le web... je vais y réfléchir 
Et il est vrai que j'ai beaucoup de peine à trouver mes erreurs quand un truc faux fonctionne 3 lignes plus haut Oo. J'ai tendance à chercher ailleurs (en l'occurrence dans mon preg_replace). 
Désolé pour le dérangement, j'éviterai de poster par "flemme" :S.
Merci beaucoup pour les conseils Ju 
Meilleures salutations
TOP Hors ligne


Ce dont je te parle, ça n'est pas de dictionnaire, mais de livre tout simplement.
Quand tu apprends une langue, tu commences par apprendre l'ordre des mots, sujet verbe adjectifs compléments, la syntaxe de la langue. Il ne te viendrait pas à l'idée d'aller piquer des mots dans un dictionnaire russe en se disant qu'il suffit de les mettre bout à bout, il faut bien apprendre l'ordre des choses.
Quand on veut apprendre un langage sérieusement, rien de tel qu'investir dans un bon bouquin qu'on lit d'un bout à l'autre pour avoir un apercu global du langage et apprendre les bases - et en PHP comme dans bcp de langages, les tableaux, ça fait parti des bases - afin de pouvoir pratiquer sans perdre de tps inutile. C'est ensuite que viennent tous les pb liés à l'inexpérience ou à la méconnaissance de tous les petits détails d'exeptions et compagnies qu'on a oublié ou qui ne figuraient pas dans le livre : et c'est précisemment là que la communauté intervient.
Pour finir et d'expérience, en apprenant les bases par brides en observant les scripts et en lisant de tps en tps un petit article sur divers sites plus ou moins sérieux, tu louperas 80% des capacités du langage, tu perdras bcp de temps, et il te faudra énormément de tps avant de concevoir un script rapide, économique et puissant. J'ai appris javascript comme ça, et je n'en connais que qq brides, alors que je pensais le connaître parfaitement... sauf que rares sont ceux qui savent vraiment programmer sur internet (proportionnellement parlant), donc rares ont été mes occasions d'observer des scripts de qualité et riches en écriture.
Encore faut-il trouver un bon bouquin, ce qui n'est pas le cas de tous (je déconseille notamment, d'un avis personnel, les pour les nuls). Pour PHP j'ai appris avec Je débute en PHP4 de Bill McCarty au éditions First Interactive, probablement le meilleur bouquin de programmation que j'ai, tous langages confondus. Le pied serait qu'il soit réédité pour PHP5.
Mais n'hésite pas à poster sur le forum, loin d'être une critique, c'est un conseil que je te donne : j'ai l'impression que tu perds juste du temps.
TOP Hors ligne







Ju a écrit:
Encore faut-il trouver un bon bouquin, ce qui n'est pas le cas de tous (je déconseille notamment, d'un avis personnel, les "pour les nuls"). Pour PHP j'ai appris avec "Je débute en PHP4" de Bill McCarty au éditions First Interactive, probablement le meilleur bouquin de programmation que j'ai, tous langages confondus. Le pied serait qu'il soit réédité pour PHP5.
Perso, j'avais un livre de VB en "pour les nuls", il a pas vraiment répondu à mes attentes non plus.
Ma question : Y'a-t-il assez de nouveautés/améliorations en PHP5 pour ne pas envisager "Je débute en PHP4" ?
Ou est-ce que qqun aurait d'autres propositions ? A savoir que je peux également faire avec un livre anglais.
Salutations
TOP Hors ligne


C'est relativement idiot d'apprendre à conduire sur une boite manuelle si tu sais que dans 1 an, toutes les voitures auront des boites automatiques. Donc oui, ça me parraitrait assez idiot que tu apprennes PHP 4... même si il y a encore actuellement une majorité de serveurs qui tourne avec PHP4.
Mais tu as des chances de trouver encore plus de matières et donc plus de chances de tomber sur de la qualité en tapant dans l'américain, c'est sûr...
TOP Hors ligne







Ouais je savais pas vraiment les changements qu'il y avait eu en fait. Ma question demandait donc justement s'il y avait des changements significatifs. A ce que j'ai pu lire, c'est le cas. Donc j'apprends des nouveautés en PHP5 par un livre, on verra si c'est plus efficace (c'est probable). Et je vais voir pour apprendre la matière nécessaire à mon projet avant de la tester sur celui-ci, plutôt que de l'apprendre au fur et à mesure de mes besoins
.
Salutations
TOP Hors ligne







Euh, j'aurais encore un truc à demander. J'ai un code dont un tableau est défini ainsi :
$patterns = array(
$patterns[0]='/\[b\](.*)\[\/b\]/',
$patterns[1]='/\[u\](.*)\[\/u\]/',
$patterns[2]='/\[i\](.*)\[\/i\]/',
$patterns[3]='/\[align=(.{4,6})\](.*)\[\/align\]/',
$patterns[4]='/\[url=(.*)\](.*)\[\/url\]/',
$patterns[5]='/\[video\](.*)\[\/video\]/');Selon ce que tu m'as dit, on devrait mettre des ";" à chaque fois.
Le code avec des ; retourne une erreur par ligne, celui affiché ci-dessus fonctionne parfaitement. (Mon erreur dans la définition du premier message provient de là, d'ailleurs).
Pourquoi ?
Salutations
TOP Hors ligne


Je t'invite à relire le message dans lequel je t'indique les deux méthodes pour déclarer un tableau.
Soit tu utilises Array(); soit tu définis les clés une à une, comme des variables simples.
TOP Hors ligne







oki j'avais noté seulement le ";" et le "," dans ton précédent message. Au temps pour moi.
Merci
TOP Hors ligne
Pages: 1