Forum dédié au moteur de recherche et aux techniques d'optimisation par #taggle
Vous n'�tes pas identifi�.
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
$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 ?
Hors ligne
preg_replace_callback est ton amie...
je dirais que ca devrait donner qqchose dans le genre :
$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
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
Bien amicalement et encore merci
Cédric
Hors ligne
dis voir fbparis, avec comme appel
reg_replace_callback('/(test me gently)/sim',"myfunc('\\1', 'toto')",$test);
la fonction
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
Hors ligne
<?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
Hors ligne
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
Hors ligne