Fonction contraire de str_replace

redpooka Messages postés 55 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 18 mai 2004 - 29 sept. 2003 à 13:53
redpooka Messages postés 55 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 18 mai 2004 - 29 sept. 2003 à 14:50
Existe-t-il une fonction qui fasse le contraire de str_replace ?

Qui au lieu de remplacer les caractèrs définit, remplace les caractères non définit ?

PS: C'est pour utiliser dans un string que tous les caractères qui ne sont pas des lettres soient remplacés. Mais j'aimerais quand même savoir si cette fonction existe.

2 réponses

redpooka Messages postés 55 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 18 mai 2004 2
29 sept. 2003 à 14:42
J'ai pas trouvé mais j'ai fait ceci pour remplacer, je pense que ça peut être meilleur

$mot="Salut1234";
$carac=array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0"); //Caractère qu'on veut garder

$carac_enleve=str_replace($carac,"",$mot);  //On enleve tout les caractères qu'on veut garder

$taille=strlen($carac_enleve); //Decomposition pour un faire un tableau des caractères qu'on veut enlever
$tab=array();
for($i=0; $i<$taille;$i++) array_push ($tab,$carac_enleve[$i]);

$mot=str_replace($tab,"",$mot); //On enleveve tout les caractères indésirables

echo("$mot"); //resultat final
0
redpooka Messages postés 55 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 18 mai 2004 2
29 sept. 2003 à 14:50
Bon en mieux formuler

<?php

function Enleve_carac($carac, $carac_replace, $chaine){
$carac_enleve=str_replace($carac,"",$chaine);  //On enleve tout les caractères qu'on veut garder

$taille=strlen($carac_enleve); //Decomposition pour un faire un tableau des caractères qu'on veut enlever
$tab=array();
for($i=0; $i<$taille;$i++) array_push ($tab,$carac_enleve[$i]);

$chaine=str_replace($tab,$carac_replace,$chaine); //On enleveve tout les caractères indésirables
return($chaine); //resultat final
}

$chaine="Salut 1234!&*Coucou";
$carac= 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",
  "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",
  "1","2","3","4","5","6","7","8","9","0", " "
  ); //Caractères qu'on veut garder

$carac_replace="_" ; //Caractère qui va faire le remplacement
$mot=Enleve_carac($carac,$carac_replace,$chaine);
echo($chaine);

?>
0
Rejoignez-nous