str_replace je comprend plus! aidez moa!!! - PHP - Programmation
Marsh Posté le 24-10-2007 à 21:13:07
Citation : existe il une alternative? |
$multi = preg_replace($order, $replace, $str);
avec
$order= array('/a/', '/b/', '/c/',...
Marsh Posté le 24-10-2007 à 21:33:21
merci, g failli finir a l'asile,
je vais essayer tt ça deminx!
Marsh Posté le 24-10-2007 à 21:47:08
Bah, ça n'explique toujours pas pourquoi il obtient ce résultat. D'après un exemple de la doc :
// Outputs: apearpearle pear |
Cette fonction semble avoir été codée avec les pieds : elle fait une boucle du genre for (i = 0; i < strlen($text); i ++).
Du coup bonjour les effets de bords ultra prise de tête à débugguer : lorsque dans cet exemple la première occurence de a est remplacé par "apple", la chaine va devenir : "apple p" et le traitement va reprendre après le premier a. Du coup les 2 p vont être remplacés par "pear" .
P...n, j'imagine qu'incrémenter i de la différence entre le texte ajouté et celui remplacé aurait donné une fonction trop intuitive....
Celà dit, dans son cas toutes les chaines ont la même longueur, ça ne devrait pas poser problème.
Marsh Posté le 24-10-2007 à 21:49:34
GostSn a écrit : bonjours,
|
Une alternative ? Oui, la fonction strrev.
Marsh Posté le 24-10-2007 à 21:56:27
tpierron a écrit : Bah, ça n'explique toujours pas pourquoi il obtient ce résultat. D'après un exemple de la doc :
|
donc, le pb vien de la fonction?
ce n'est pas moi qu'i n'ai rien compris?
Marsh Posté le 24-10-2007 à 21:02:22
bonjours,
je vais pas m'acharner sur ce bout de code qui marche pas, mais je voudrais savoir pourquoi je n'ai pas le résulata voulu
ça me rend fou.
$str = 'abcdefghijklmnopqrstuvwxyz';
$order = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
$replace = array('z', 'y', 'x', 'w', 'v', 'u', 't', 's', 'r', 'q', 'p', 'o', 'n', 'm', 'l', 'k', 'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a');
$multi = str_replace($order, $replace, $str);
echo $multi;
ce qui rend:
abcdefghijklmmlkjihgfedcba
au lieu de zyxwvutsrqponmlkjihgfedcba
merci de votre aide!
existe il une alternative?
---------------
http://www.free-tribes.org