#1 17-07-2006 18:26:22

Toucouleur
Survivors
Lieu: Perpignan
Date d'inscription: 30-09-2005
Messages: 790
Site web

Boucle PHP

bon oui ça m'arrive d'avoir es trous comme tout le monde et là en l'occurence j'ai mal de tête, et les 2 comiques à qui j'ai demandé de l'aide avec ce mal de crane ET code php sont restés sec comme le fond d'un verre bu trop vite.

Voila le jeux

Code:

$test = "test me gently mais pas ici et après test me gently et encore ce bordel et test me gently";

je veux remplacer chaque chaine "test me gently" par "test me gently + ". $i
avec $i qui s'incrémente de 1 à chaque fois

je crois me souvenir qu'on peut se le tapper avec des Ereg mais j'ai toujours été une bite pour ça...

un petit coup pour ma tête ?


"Le luxe est naturellement associé à la richesse qui permet des investissements qui visent le pur agrément et non le profit."

Hors ligne

 

#2 17-07-2006 19:45:59

fbparis
Survivors
Lieu: Paris
Date d'inscription: 14-07-2006
Messages: 1896
Site web

Re: Boucle PHP

preg_replace_callback est ton amie...

je dirais que ca devrait donner qqchose dans le genre :

Code:

$i = 0;

function myfunc($matches)
{
 global $i;
 return $matches[1] . ' ' . ($i++);
}

echo preg_replace_callback('/(test me gently)/sim','myfunc',$test);

Derni�re modification par fbparis (17-07-2006 19:46:26)

Hors ligne

 

#3 17-07-2006 22:37:16

Toucouleur
Survivors
Lieu: Perpignan
Date d'inscription: 30-09-2005
Messages: 790
Site web

Re: Boucle PHP

j'ai pas dis bonjour car je dis pas bonjour aux nouveaux arrivants que je connais pas, et comme j'en connais la plus part du temps aucun, ben je dis jamais bonjour

mais alors merci fb, car d'un tu m'économise un caché d'aspirine car il était ce soir hors de question de se coucher sans avoir terminé ce truc, et de 2 je vais pouvoir étudier cette fonction preg_replace_callback que je ne connaissais pour ainsi dire, pas du tout.

Bienvenue et un service en vaut toujours un autre à minima wink

Bien amicalement et encore merci

Cédric


"Le luxe est naturellement associé à la richesse qui permet des investissements qui visent le pur agrément et non le profit."

Hors ligne

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 313

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#4 17-07-2006 23:29:38

Toucouleur
Survivors
Lieu: Perpignan
Date d'inscription: 30-09-2005
Messages: 790
Site web

Re: Boucle PHP

dis voir fbparis, avec comme appel

Code:

reg_replace_callback('/(test me gently)/sim',"myfunc('\\1', 'toto')",$test);

la fonction

Code:

function myfunc($matches, $add_text)
{
 global $i;
 return $matches[1] . ' ' . ($i++) . $add_text;
}

à l'appel de la fonction il me dit gentillement

<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: requires argument 2, 'myfunc('\1', 'toto')', to be a valid callback in...

j'ai bien regardé la doc mais pas moyen de trouver la bonne combinaison de syntaxe neutral


"Le luxe est naturellement associé à la richesse qui permet des investissements qui visent le pur agrément et non le profit."

Hors ligne

 

#5 18-07-2006 01:22:52

Rottman
Tagglers+
Date d'inscription: 06-10-2005
Messages: 455
Site web

Re: Boucle PHP

Code:

<?php

$test = "test me gently mais pas ici et après test me gently et encore ce bordel et test me gently";

$results = explode('test me gently', $test);

$nb = count($results)-1;

$str = '';

for($i=0; $i<$nb; $i++) {

$str .= $results[$i].' test me gently '.$i;

}

echo trim($str);

?>

Yo big_smile

Hors ligne

 

#6 18-07-2006 08:12:01

Toucouleur
Survivors
Lieu: Perpignan
Date d'inscription: 30-09-2005
Messages: 790
Site web

Re: Boucle PHP

Merci Rottman mais c vrai que la fonction preg_replace_callback est vachement puissante et souple d'exploitation... plus mal de tête ce matin, merci les amis smile


"Le luxe est naturellement associé à la richesse qui permet des investissements qui visent le pur agrément et non le profit."

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 R. Andersson