begin process at 2012 05 31 14:27:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère


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

remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

mercredi 14 mars 2007 à 11:02:10 | remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

loupile

Membre Club
Bonjour j'ai une chaine de caractère qui est du type ...

$chaine = 'bien choisir son pc ?';

dans cette chaine je voudrais supprimer les ponctuations :  .,?!:...

et ensuite remplacer les espaces par _

pour arriver à une chaine modifiée du genre :

$chainemodifiee = 'bien_choisir_son_pc';

merci de votre aide précieuse.

mercredi 14 mars 2007 à 11:41:29 | Re : remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

coucou747

Administrateur CodeS-SourceS
salut utilise preg_replace
mercredi 14 mars 2007 à 11:43:28 | Re : remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

coockiesch

Yop!
$chaine = str_replace( array( '?', ',', '.', ':', '!'), '_', $chaine );

A toi de lister ce que tu veux... :)

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
mercredi 14 mars 2007 à 11:56:05 | Re : remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

loupile

Membre Club
merci a vous deux ..

cookiesch ce que tu m'as indiqué remplace toute la ponctuation par _ moi ce que je voudrais c'est d'abord supprimer la ponctuation de la chaine et ensuite remplacer les espaces par _

$chainedepart = 'bien choisir son pc ?';

$chianemodifiee = 'bien_choisir_son_pc';

merci pour votre aide ...
mercredi 14 mars 2007 à 12:43:54 | Re : remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

coucou747

Administrateur CodeS-SourceS
un truc genre ca $q=preg_replace('/[:ponc:]/', '_', $q); $q=preg_replace('/[:space:]/', '_', $q); lis la doc sur les pregs
mercredi 14 mars 2007 à 14:47:03 | Re : remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

loupile

Membre Club
bon j'ai lu la doc ...
voila ce que j'ai essayé de faire ..  et ca ne donne rien .. je ne sais plus comment faire là ...

$chaine = $titrearticle ;
function OterAccents($chaine) {
return( strtr( $chaine,
 "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
 "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" ) );
 }
$patterns[0] = '/?/';
$patterns[1] = '/:/';
$patterns[2] = '/./';
$patterns[3] = '/;/';
$patterns[4] = '/!/';
$patterns[5] = '/\'/';
$replacements[5] = '';
$replacements[4] = '';
$replacements[3] = '';
$replacements[2] = '';
$replacements[1] = '';
$replacements[0] = '';
$chaine = preg_replace($patterns, $replacements, $chaine);
$chaine = str_replace( '', '_', $chaine );

merci de votre aide
mercredi 14 mars 2007 à 16:44:40 | Re : remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

audayls

Salut,
Bon déjà je dis un grand "LOL" pour ton code Loupile.
Comment tu comptes replacer du vide '' par un underscore _ ?

L'idée d'utiliser un "preg_replace" n'est pas mal mais si la chaine contient des crochets ou tout autres caractères d'une expression régulière c'est fichu.

Donc il faut appliquer un "str_replace" comme la dis "coockiesch" se qui donnera : <?php
$chaine = 'bien choisir son pc ?';
$chaine = str_replace(array('.', ',', '?', '!', ':', '_', ' ', '.'), '_', $chaine);
echo$chaine;
?>


For every choice, a consequence (Fable)
mercredi 14 mars 2007 à 16:55:58 | Re : remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

loupile

Membre Club
alors je m'en suis sorti seul ...  voici ce que j'ai fais .. .ca marche super ...
comme quoi on peut remplacer du vide par _ .... audayls :-p

function OterAccents($chaine) {
return( strtr( $chaine,
 "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
 "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn" ) );
 }
$chaine = OterAccents($chaine);
function ponctuation($chaine) {
return( strtr( $chaine,
"?...:!,.\'-",
"           ") );
}
$chaine = ponctuation($chaine);
$chaine = trim($chaine);
$chaine = str_replace( ' ', '_', $chaine );
mercredi 14 mars 2007 à 17:05:16 | Re : remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

audayls

"comme quoi on peut remplacer du vide par _ .... audayls :-p"
Nan nan nan on ne peut pas

Ce n'est pas le même paramètre search dans les 2 "str_replace" : le premier c'est '' (une chaine string vide) et le second c'est ' ' (une chaine string contenant un espace) c'est là la différence

For every choice, a consequence (Fable)
mercredi 14 mars 2007 à 17:06:12 | Re : remplacer les ? et ponctuation ainsi que les espaces dans une chaine de caractère

DiGhan

Hello, voici une solution possible: Parsing à améliorer !

1 2

Cette discussion est classée dans : caractère, chaine, espaces, remplacer, ponctuation


Répondre à ce message

Sujets en rapport avec ce message

remplacer un ' par un \' [ par Noizet ] Hello,J'ai une chaine de caractère qui contient un ', et je dois remplacer l'apostrophe par un \', $chaine = strtr($chaine , "'" , "\'");le problème e Comment ne garder que certains caractères d'une chaine ? [ par Gta3soluce ] Bonjour,J'utilise la fonction str_replace pour remplacer certains caractère contenu dans une chaine par d'autres.J'aimerais faire le contraire.  C'est transformer une variabla à une chaine de caractère [ par hwm86 ] salut mes amis...comment on peut transformer une variable ($variable) à une chaine des caractères??? c'est possible?!!merci modifier chaine de caractère [ par zut69 ] <td id="HB_Focus_Element" unselectab="" background="" 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 = ' Nombre caractère dans chaine [ par yoarf ] Bonjour,Dans la chaine de caractères "$rep" je voudrais retourner le nombre de "/" (en fait c'est un chemin d'accès, je veux retourner le niveau de pr Enlever tous les espaces d'une chaine [ par Teclis01 ] Et bien je crois que tout est dans le titre sauf que j ai utilisé str_replace avec " " mais les doubles espaces il m en enleve que un et 3 je suppose Remplacer par RegExp l'évaluation d'une operation arithmétique [ par guill76 ] Salut, Je bute sur un problème :je parse une chaine de type équation mathématique ex (3x+(5*2) +3X3 +3X2) avec eregi_replace pour remplacer dans 1 pre Supprimer les balises html d'une chaine de caractère [ par SAaD44 ] Salut !Voila, je cherche le moyen de supprimer toutes les balises html (de début et de fin) d'une chaine de caractère.Merci d'avance SAâD


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 0,328 sec (3)

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