PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : PHP

par albat » 28 avr. 2005, 17:01

Ah ben, j'suis bien content !
J'm'étais pas gouré alors... :langue:

En effet, je ne me préoccupe pas de remplacer n occurrences d'un caractères par un seul,
ce qui m'importe, c'est de remplacer chaque occurrence.

Merci !

par flitox » 28 avr. 2005, 15:59

Dans ton cas, tu as besoin d'un simple str_replace() puisque tu remplaces un caractère par un autre sans te soucier des critères de recherche.
<?php
$chaine_depart = "Cette image a été créée...";
$chaine_arrivee = str_replace("é", "&eacute;", $chaine_depart);
echo $chaine_arrivee;
?>

par albat » 28 avr. 2005, 15:36

Mouais... je maîtrise pas encore le truc.

Si je veux remplacer les é d'un texte par des &eacute;, que dois-je utiliser ?
$chaine_depart  = "Cette image a été créée...";
$chaine_arrivee = "Cette image a &eacute;t&eacute; cr&eacute;&eacute;e...";

par flitox » 28 avr. 2005, 13:28

Voilà 2 exemples albat' :

str_replace() :
<?php
$chaine = "le chaaaat est beaau";
echo str_replace("aaaa", "a", $chaine)."<br /><br />";
//Affiche : le chat est beaau
?>
beaau reste beaau car il n'a pas trouvé 4 "a" à la suite

Maintenant avec preg_replace() :
<?php
$chaine = "le chaaaat est beaau";
echo preg_replace("!a+!", "a", $chaine);
//Affiche : le chat est beau
?>
Dans la seconde solution il n'y a pas eu besoin de lui dire combien de "a" trouver pour qu'il corrige tout seul les fautes ;)

par flitox » 28 avr. 2005, 13:19

Si vous n'avez pas besoin de règles de remplacement compliquées, utilisez cette fonction de préférence à ereg_replace() et preg_replace().
preg_replace() se sert des expressions régulières donc les capacités de recherche d'une chaîne à remplacer sont bien plus étendues qu'un simple str_replace() qui nécessite à la base la connaissance de la chaîne qui va être remplacée.

par albat » 28 avr. 2005, 13:03

Je profite de tra réponse, Flitox, pour demander un eclaircissement.
Quelle est la différence entre les fonctions preg_replace() et str_replace() ? :?:

par flitox » 28 avr. 2005, 11:50

Comme ça :
<?php
$chaine = "bla		bla";
echo preg_replace("![[:space:]+]!", " ", $chaine);
//Affiche : bla bla
?>

PHP

par fab92320 » 28 avr. 2005, 11:41

bonjour, comment pourrais je remplacer une suite d'espace par un seul en PHP?
merci d'avance