begin process at 2010 03 18 11:32:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

str_replace tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

str_replace tableau

vendredi 10 février 2006 à 02:11:43 | str_replace tableau

nashoy

Bonsoir,
J'aimerai remplacer des caractère donnés dans un tableau à "key" comme on dit...:
function Conversion ($chaine) {

$conversion = array(
':)' => '*souris*',
':(' => '*triste*',
':|' => '*neutre*
);
foreach($conversion as $code => $valeur)
    {
    $chaine_finie .= str_replace($code,$valeur,$chaine);
    }
echo $chaine_finie;
}

Voilà donc je pense que c'est assez clair.
Sachant que ce code me renvoie ceci, quand $chaine vaut ":):(:|" : *souris*:(:|:)*triste*:|:):(*neutre*.

Merci pour votre aide.

nashoy

vendredi 10 février 2006 à 07:54:16 | Re : str_replace tableau

malik7934

Hello,

Tu as fait ce que j'appelle une faute qui bouffe la vie car on la voit pas

Ce n'est pas
str_replace($code,$valeur,$chaine) mais str_replace($code,$chaine,$valeur);

De plus, attention à ton array, il est mal fermé:
':|' => '*neutre* -> ':|' => '*neutre*'


*****
THINK
-> SEEK -> ASK

vendredi 10 février 2006 à 08:01:06 | Re : str_replace tableau

malalam

Administrateur CodeS-SourceS
hello,

bah évidemment, que veux tu que cela te renvoie...?

Vire ta fonction inutile, déjà.
Vire le foreach, et fais juste :
$aNeedle = array (':)', ':(', ':|');
$aTrans = array ('*souris*', '*triste*', '*neutre*');
$chaine  = str_replace ($aNeedle, $aTrans, $chaine);


vendredi 10 février 2006 à 08:03:10 | Re : str_replace tableau

malalam

Administrateur CodeS-SourceS
Malik, tu es mal réveillé ;-)

vendredi 10 février 2006 à 08:07:21 | Re : str_replace tableau

malik7934

Hein quoi comment ou qui ça??!!!
euh, scouzi, mais en faisant:

$conversion = array(':)' => '*souris*',':(' => '*triste*',':|' => '*neutre*');
$chaine = ":):(:|";
foreach($conversion as $code => $valeur)
    {
    $chaine2 .= str_replace($code,$chaine,$valeur);
    $chaine2 .= '<br />';
    }
echo $chaine2;

-> *souris*
    *triste*
    *neutre*

So, je pige pas la remarque (peut-être que je suis VRAIMENT mal réveillé !!! )

*****
THINK
-> SEEK -> ASK

vendredi 10 février 2006 à 08:13:43 | Re : str_replace tableau

malalam

Administrateur CodeS-SourceS
Il veut, dans $chaine, trouver les clefs de son tableau présentes dans $chaine, et les remplacer par les valeurs de son tableau. Si j'ai bien pigé.

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

mixed search, ce sont les clefs de son tableau
mixed replace, ce sont les valeurs de son tableau
mixed subject, c'est sa chaine.

Et pas besoin de foreach, str_replace prend des tableaux en paramètres. Sinon, là, il boucle trop et obtient forcément n'importe quoi.

Ou alors, c'est moi qui suis vraiment très mal réveillé ;-)
vendredi 10 février 2006 à 08:16:43 | Re : str_replace tableau

malik7934

ouais, bon, je vais pas réfléchir plus, j'ai les yeux tout collés de toute façon là :)
Je rajouterais qu'effectivement la boucle est inutile. Voili voilà, bonne nuit

*****
THINK
-> SEEK -> ASK

vendredi 10 février 2006 à 12:01:41 | Re : str_replace tableau

nashoy

Bonjour,
en fait je connais déjà la variante des 2 tableaux comme tu l'as dit malalam, mais je préfèrerais le faire avec un tableau comme j'ai dit, je trouve ça plus clair:
$conversion = array(
':)' => '*souris*',
':(' => '*triste*',
':|' => '*neutre*'
);
On peut facilement en rajouter en restant clair.

malik7934, ce que tu m'as donné affiche tout le contenu du tableau, or j'aimerai seulement remplacer le code dans une chaine, par ex:
$chaine = "bonjour:)";
$chaine_fini vaut alors : "bonjour*souris*"

Si il le faut, j'adopterai la méthode des 2 tableaux, mais je préfèrerai de loin l'autre.

Merci beaucoup pour votre aide.

nashoy

vendredi 10 février 2006 à 12:02:50 | Re : str_replace tableau

Anthomicro

Salut,

$rechercher=array('machin','truc','bidule');
$remplacer=array('truc','bidule','chouette');

$chaine='truc machin bidule';

echo $chaine=str_replace($rechercher,$remplacer,$chaine);

ça va t'afficher bidule truc chouette

a +

    vendredi 10 février 2006 à 17:24:47 | Re : str_replace tableau

    nashoy

    Salut Anthomicro,
    dans mon message précédent, je disais que je cherche (si possible) une autre méthode, car je trouve que celle des 2 tableaux n'est pas très propre à mon gout (quand la liste devient plus longue).
    Merci quand même.

    nashoy


    1 2

    Cette discussion est classée dans : chaine, tableau, conversion, replace, str


    Répondre à ce message

    Sujets en rapport avec ce message

    Probleme de caracteres [ par LaurentKOogar ] Bonjour,Je lis un Flux XML et dans la recuperation des datas j'ai des caracteres qui pour moi sont totalement inconnu: Ã© => é Ã§ =>  çDon Émoticons BBcode [ par kegi ] Bonjour,je désire formater une chaine pour remplacer [1],[2],[3]...[170] par des images .ex:$chaine = "Bonjour [25] !";=> $chaine = "Bonjour <img bord Acronymes dynamiques [ par crocxx2 ] Bonjours, je cherche à développer un systeme qui me permetré de géré les acronymes dynamiquement pour mon site, jusque la j'ai fait sa:    function Re Fonctionnement de array_push() ?? [ par eplanet ] Bonsoir à tous, je me retrouve face à un problème qui me perturbe un peu. J'ai un tableau de tableaux auquel je veux ajouter des éléments, voici mon c tableau qui est vide ou qui ne veut pas se créer [ par kifouillou ] Bonjour à tous,j'ai déjà posé le problème, mais comme je n'avance pas je me permets de relancer. J'ai 2 pages, une avec un formulaire avec des cases à Comparaison d'une variable avec celle d'un tableau [ par sebvcx ] Bonjour,J'ai un petit souci, je ne comprends pas pourquoi la comparaison ne se fait pas il me renvoie faux alors que $str=Lesly et $_Get['eleve']=Lesl str_replace("'", """, $maChaine); [ par alonsyl ] bonjour, j'utilise 1 chaine de caractere pour generer du code HTML via PHP. j'ai donc des trucs du genre :$maChaine = "TEST";echo $maChaine;le replace [ par kelm_by ] Salut tous les mondes, Je ne sais pas ou est l'erreur dans ce code mais ce que je veux c'est enlever .Php et remplacer _ par un espace merci d'avenc Texte propre pour une url ? [ par porciner ] Bonjour,J'ai fais une fonction qui permet de dénuer une chaine de ses caractères spéciaux et autres caractères nuisibles lorsque l'on veut ajouter cet transformer un tableau multidimensionnel en chaine de caracteres [ par franco_se ] bonjour a tous.voila, je cherche a enregistrer un tableau multidimensionnel dans un champ de ma table sql .le probleme est que, lorsque je fais "inser


    Nos sponsors


    Appels d'offres

    Sondage...

    CalendriCode

    Mars 2010
    LMMJVSD
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    

    Consulter la suite du CalendriCode

    Photothèque

     
    Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
    CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
    CodeS-SourceS.com© est une marque déposée tous droits réservés

    Google Coop CodeS-SourceS Google Coop CodeS-SourceS
    Temps d'éxécution de la page : 1,810 sec (3)

    Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales