Accueil > Forum > > > > Fonction modification chaine de caractère php
Fonction modification chaine de caractère php
vendredi 7 janvier 2011 à 15:16:49 |
Fonction modification chaine de caractère php

ccpu
|
Bonjour,
Je souhaiterais savoir si avec la fonction str_replace ou autre fonction, on peut remplacer une chaine de caractère mais deux fois. Je vous montre un exemple :
Chaine : "toto tata"
Je voudrais remplacer toto par un truc et tata par un autre truc en appelant une seule fois la fonction. Si besoin est je vous explique le contexte qui me force à ne l'utiliser qu'une seule fois. J'ai déjà essayé de faire une fonction qui fait deux fois str_replace mais ce fut un echec
Par avance, merci.
|
|
vendredi 7 janvier 2011 à 15:49:50 |
Re : Fonction modification chaine de caractère php

ludwig59
|
Bonjour
Vous pouvez le faire avec str_replace en utilisant des tableaux comme paramètres.
Regardez ce lien : str_replace
|
|
vendredi 7 janvier 2011 à 16:03:06 |
Re : Fonction modification chaine de caractère php

cod57
|
bonjour
une propos
a++
Code PHP :
<?php
function str_replace_all($search,$replace,$subject) {
while(strpos($subject,$search)!==false) {
$subject = str_replace($search,$replace,$subject);
}
return $subject;
}
function remplace($chaine,$arg1,$arg2,$motif){
$a=str_replace_all($arg1,$motif,$chaine);
$a=str_replace_all($arg2,$motif,$a);
return $a;
}
echo str_replace_all("titi","????","toto tata tata titi tutu toitoi tototutu").'<br />';
echo remplace("toto tata tata titi tutu toitoi tototutu","toto","titi","????");
?>
|
|
vendredi 7 janvier 2011 à 16:09:26 |
Re : Fonction modification chaine de caractère php

ccpu
|
Merci à tous, mais en fait j'ai trouvé beaucoup plus simple, en réveillant...
str_replace("toto","truc1",str_replace("tata","truc2",$machaine));
|
|
vendredi 7 janvier 2011 à 16:11:04 |
Re : Fonction modification chaine de caractère php

cod57
|
ou avec deux motifs ...
Code PHP :
<?php
function str_replace_all($search,$replace,$subject) {
while(strpos($subject,$search)!==false) {
$subject = str_replace($search,$replace,$subject);
}
return $subject;
}
function remplace($chaine,$arg1,$arg2,$motif1,$motif2){
$a=str_replace_all($arg1,$motif1,$chaine);
$a=str_replace_all($arg2,$motif2,$a);
return $a;
}
echo str_replace_all("titi","????","toto tata tata titi tutu toitoi tototutu").'<br />';
echo remplace("toto tata tata titi tutu toitoi tototutu","toto","titi","????","xxx");
?>
|
|
vendredi 7 janvier 2011 à 16:12:19 |
Re : Fonction modification chaine de caractère php

cod57
|
moi aussi
$a=str_replace_all($arg1,$motif1,$chaine);
a++
|
|
vendredi 7 janvier 2011 à 16:19:40 |
Re : Fonction modification chaine de caractère php

TychoBrahe
|
Salut,
Visiblement vous avez loupé la réponse de ludwig59 qui donne une solution carŕement plus élégante au problème. À ce sujet, je compléterais sa réponse en indiquant une fonction très voisine qui fais la même chose mais de manière légèrement différente : strtr().
|
|
vendredi 7 janvier 2011 à 16:34:12 |
Re : Fonction modification chaine de caractère php

TychoBrahe
|
Ho j'oubliais :
@cod57 : Ta fonction str_replace_all() ne sert strictement à rien, str_replace() remplace déjà toutes les occurrences de la chaîne à remplacer. Bref, ton while ne sert à rien car ne tourne que une seule fois au maximum. Après, comme je disais au dessus, ludwig59 à fait remarquer que l'utilisation de tableaux permet d'obtenir l'effet demandé, rendant ta fonction remplace() d'autant plus inutile qu'elle s'applique à un cas très particulier et ne risque donc pas de servir un jour.
Et si jamais vous avez du mal à comprendre, voici un exemple double :
Code PHP : <?php
$str = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.';
$res = str_replace(array('et', 'it'), array('ET', 'IT'), $str);
var_dump($res);
$res = strtr($str, array('or' => 'OR', 'ct' => 'CT'));
var_dump($res);
?>
Code : -> php toto.php
string(57) "Lorem ipsum dolor sIT amET, consectETur adipisicing elIT."
string(57) "LORem ipsum dolOR sit amet, conseCTetur adipisicing elit."
|
|
vendredi 7 janvier 2011 à 20:32:23 |
Re : Fonction modification chaine de caractère php

cod57
|
@TychoBrahe
merci pour ces precisions constructives.
a++
|
|
Cette discussion est classée dans : fonction, php, caractère, chaine, modification
Répondre à ce message
Sujets en rapport avec ce message
Caractère bizare sous avec la fonction require() [ par Yoann0412 ]
Bonjour,Lorsque j'utilise la fonction require() comme par exemple : require ('security/nbconnect.php');?>j'ai, juste avant l'exécution (bienque corre
chaine de caractère [ par emlesna ]
Bonjour,Je souhaite créer une fonction qui convertit chaque caractère situé après un "." en majusculedans une chaine de caractère $string.Sans me
Calcul dans une chaine de caractère [ par djangoboy ]
Bonjour à tous.Alors ma question est simple.Par exemple $p = '+'; $q = '-';et je fais $var = $var1 . $p . $var2 . $q . $var3;Ainsi ça me rend $var = '
Fonction qui vérifie la présence d'une partie d'une chaine caractère.. [ par Dure ]
Bonjour, voila ma question est toute simple mais je n'ai pas trouver réponse sur google.Alors voila je voudrais savoir s'il existe une fonction php qu
fonction php + supprimer des mots dans une chaine [ par hadjiphp ]
Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : je cherche une fonction
Transformation chaine de caractère. [ par fritz931 ]
Bonjour tout le monde, J'ai un soucis pour transformer une chaine de caractère qui me servira à alimenter Highcharts. En gros je récupère mon array so
appel a des fonction de la librairie .so via PHP [ par badsha ]
bonjour! bonjour!! voila j'ai créé une librairie hello.so et je voudraire savoir comment faire appel à la fonction, " hello_world() " , de cette lib
Onglet Actualité en php [ par bmounaj ]
Salut, j'aimerai faire un onglet "ACTUALITE" dans mon site en php, et on m'a dit qu'il y'avait une fonction ou un bout de code tout prêt pour m'affich
affichage en fonction des cases cochees [ par geoslim ]
bonjour, j'ai un tableau avec un num, nom, service, tel ... extrait d'une base mysql j'y ai ajouter une case a choser a cote du num. je voudrais
Problème fonction aff [ par PetiteNonne ]
Bonjour, j'ai un problème que je n'arrive pas à résoudre seule. Ma page php se nomme connecter.php Ma variable : $connect <form name="Connect_View
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|