str_replace ... une seule fois ...

WRInaute accro
Je me souviens plus trop mais il me semble qu'il existe quelque chose pour dire qu'on veut remplacer uniquement la premiere occurence ... Str_replace n'a pas ce paramètre semble t il ... Il y a une autre commande ou c'est à moi d'aller trouver la pos et de bidouiller les octets ?
 
WRInaute accro
Si tu es tjs en PHP4 et que ton hébergeur ne permet pas le PHP5: tu changes d'hébergeur :roll:
 
WRInaute accro
spout a dit:
Si tu es tjs en PHP4 et que ton hébergeur ne permet pas le PHP5: tu changes d'hébergeur :roll:
C'est mon code truffé de

<?=$truc?>

ou des

<?

?>

qui pour le moment me cantonne au php4 ... j'ai pris de mauvaises habitudes ... et donc le passage en php5 ca sera une fois mon site fini de chez fini et la je l'ancerai operation verif pour php5. Maintenat je fait propre avec <?php et des echo mais il reste des crasses un peu partout ...

Mais la je suis dans le code jusq'aux oreilles : comme je veux pas intégrer un forum standard (phpBB, punBB etc) (trop chiant pour intégrer nickel (interface et datas), ajouter et maintenir les mods, updater les version sans marcher sur les mods, etc etc plus les probleems de securité qu'on maitrise pas ...), ben je suis en train de me réécrire un forum rien que pour mézigue ou là je maitrise tout ...

C'est plus de taf mais à coté :

- plus aucun pb d'intégration
- plus aucun pb de mods
- plus de probleems d'update des versions etc etc
 
WRInaute discret
Si tu active les short tags, ca ne devrai pas poser de probleme en théorie. Ou je dire une connerie?
 
WRInaute accro
amph37 a dit:
Si tu active les short tags, ca ne devrai pas poser de probleme en théorie. Ou je dire une connerie?
Peut être .. mais bon avec mon dev en cours je veux me concenter sur ca ey que sur cela ... donc passage php5, c'est pour quand je serais phprank3 :mrgreen:
 
WRInaute accro
Expression régulière total inculte ! Mais bon je vais me débrouiller en codant ca ira plus vite ... que de migrer en php5 ou d'apprendre les exp reg :wink:
 
WRInaute impliqué
Ca sent l'auto linking interne à plein nez, ça...

Bon, regarde du coté de strtr avec utilisation d'un array.
Tu place tes bout de texte à remplacé dans le array et strtr, commençant pas les chaines les plus longue ne remplacera chaque occurence qu'une fois.
 
WRInaute accro
Dolph a dit:
Ca sent l'auto linking interne à plein nez, ça...
Pas du tout ... C'est pour traiter des citations imbriquées dans un topic de forum ...

Dolph a dit:
Bon, regarde du coté de strtr avec utilisation d'un array.
Tu place tes bout de texte à remplacé dans le array et strtr, commençant pas les chaines les plus longue ne remplacera chaque occurence qu'une fois.
Ben vi mé non pas là ... c'est la même chaine que je dois remplacer. Exemple :

str: xxxxxxxxxxxx aaaa xxxxxxxxxxxxxxxxx aaaa xxxxxxx aaaa xxxxx bbbb xxxxxx bbbb xxxx bbbb xxxxx

Remplacer :
le premier aaaa par A1 le deuxieme par A2 le troiseme par A3 ...

Voila ... Mais ca va être vite plié a coup de strpos puis remplacement par str[$pos]=.... dans un chtit while.
 
WRInaute passionné
Zecat a dit:
Expression régulière total inculte ! Mais bon je vais me débrouiller en codant ca ira plus vite ... que de migrer en php5 ou d'apprendre les exp reg :wink:
si c'est juste un mot, c'est aussi simple qu'un str_replace:

$nb_remplacement=1;
$contenu=preg_replace("/mot_a_remplacer/", "mot_de_remplacement", $contenu,$nb_remplacement);

La seul difference, c'est que pour le mot a remplacer, faut mettre un delimiteur au debut et a la fin de la chaine.
 
WRInaute accro
forummp3 a dit:
Zecat a dit:
Expression régulière total inculte ! Mais bon je vais me débrouiller en codant ca ira plus vite ... que de migrer en php5 ou d'apprendre les exp reg :wink:
si c'est juste un mot, c'est aussi simple qu'un str_replace:

$nb_remplacement=1;
$contenu=preg_replace("/mot_a_remplacer/", "mot_de_remplacement", $contenu,$nb_remplacement);

La seul difference, c'est que pour le mot a remplacer, faut mettre un delimiteur au debut et a la fin de la chaine.
Ca, ca le fait :wink: Je vais testouiller la chose ... thanks
 
WRInaute passionné
Zecat a dit:
Expression régulière total inculte ! Mais bon je vais me débrouiller en codant ca ira plus vite ... que de migrer en php5 ou d'apprendre les exp reg :wink:
Non, mais même en PHP5 ça tournera sans soucis.
Le short_open_tags est à on par défaut sur beaucoup de trucs.
A noter que si c'est toi qui code, code "proprement" et prends les bonnes habitudes.
 
WRInaute accro
Julia41 a dit:
A noter que si c'est toi qui code, code "proprement" et prends les bonnes habitudes.
Ca fait 30 ans que je code et ce que j'en retiens :

1 - t'es en forme et au début d'un projet : tu code hyper propre de chez M. Propre :mrgreen:
2 - Tu es au millieu du projet avec le délai qui court et en plus t'as fait la nouba toute la nuit que t'as les yeux qui se causent en alternance : la tu commences à semer des trucs que tu nettoieras ... plus tard :roll:
3 - La dead line c'est avant-hier et de toute façon t'es au bout du rouleau ... ca commence a te gaver : là c'est honteux ce que tu codes mais bon tant pis personne le verra et puis tu réecrira sle truc propre une fois le site lancé :oops:

:mrgreen:
 
WRInaute passionné
Zecat a dit:
Julia41 a dit:
A noter que si c'est toi qui code, code "proprement" et prends les bonnes habitudes.
Ca fait 30 ans que je code et ce que j'en retiens :

1 - t'es en forme et au début d'un projet : tu code hyper propre de chez M. Propre :mrgreen:
2 - Tu es au millieu du projet avec le délai qui court et en plus t'as fait la nouba toute la nuit que t'as les yeux qui se causent en alternance : la tu commences à semer des trucs que tu nettoieras ... plus tard :roll:
3 - La dead line c'est avant-hier et de toute façon t'es au bout du rouleau ... ca commence a te gaver : là c'est honteux ce que tu codes mais bon tant pis personne le verra et puis tu réecrira sle truc propre une fois le site lancé :oops:

:mrgreen:
Ouais mais tu peux profiter des bonnes améliorations des nouvelles versions ;)
La fonction que tu veux est dispo par défaut en php5.
Et encore on n'en est pas au parsing du xml, qui lui est très simple en php5, bien trop galère en php4.
 
WRInaute accro
Trop tard ... c'est codé et ca roule en php 4 ... le php5 on verra ... plus tard ... la je suis en phase 2 (le delai court ...) :mrgreen:
 
WRInaute impliqué
En fait, la question de migrer de PHP4 vers la 5 est surtout une question de version installée sur le serveur.
Parce que la migration de la 4 vers la 5 apporte surtout des améliorations au niveau utilisation d'objet tout en gardant une rétrocompatibilité.

Il y a quelques points à surveiller :
http://www.php.net/manual/fr/migration5.incompatible.php

PHP5 apporte surtout de « nouvelle chose » et non pas de changement ni de suppression (ou peut-être un peu).

Donc c'est simple, tu installes un serveur temporaire avec PHP5 dessus, tu mets une instance de ton site dessus. Tu vas dessus et c'est partie pour quelques tests. Une fois que tu vois qu'il n'y a plus (ou pas) de problème, tu peux passer en prod.

Si tu as conçu le site entièrement, il n'y a pas de raison que cela te prennes plus de 2h.

Franchement, prend toi y maintenant, parce qu'accumuler des « je ferai plus tard », au final, tu ne changeras rien du tout.
 
WRInaute accro
Blount a dit:
Si tu as conçu le site entièrement, il n'y a pas de raison que cela te prennes plus de 2h.

Franchement, prend toi y maintenant, parce qu'accumuler des « je ferai plus tard », au final, tu ne changeras rien du tout.
+1
Cfr. la doc, rien de bien compliqué
 
WRInaute accro
Blount a dit:
Franchement, prend toi y maintenant, parce qu'accumuler des « je ferai plus tard », au final, tu ne changeras rien du tout.
Nan nan .. c'est pas mon fonctionnement de faire ce type de manip en plein millieu du dev ... (je suis en train de réécrire PhpBB :mrgreen: )

C'est dans la todo list pour apres ...

Et puis si ca change tout : c'est plus tard :mrgreen:
 
Nouveau WRInaute
forummp3 a dit:
faut lire la doc:

http://fr2.php.net/str_replace

c'est le 4 eme argument: count

str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

edit: a partir de php5

:lol: :lol: :lol:
C'est l'hopital qui se fout de la charité.

Ben oui, faut lire la doc et aussi ce que demande l'internaute.

Le paramètre count sert à récupérer le nb d'occurence remplacé et PAS à indiquer le nb d'occurence à remplacer.

tiens,tiens, moi-aussi je me mets à donner des leçons. Je sors. :oops:
 
Discussions similaires
Haut