begin process at 2012 05 27 20:44:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > TUTORIAL #3 FONCTIONS EREG & EREG_REPLACE

TUTORIAL #3 FONCTIONS EREG & EREG_REPLACE


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Niveau :Débutant Date de création :01/02/2003 Date de mise à jour :01/02/2003 15:42:38 Vu :4 555

Auteur : revinc

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

maintenant que vous savez ce que fait ereg("^([b-d]{1,7})","bdcdefehjedf",$sortie) (réponse $sortie[1] = "bdcd"), on va voir autre chose... par exemple :

$ch1 = "vincent joue du violon";

eregi("^(vincent|nicolas|julien|jean) joue du violon",$ch1,$sortie);

quoi ça fait ça ? ehh bien ça recherche si c'est vincent ou nicolas ou julien ou jean qui fait du violon et le cas échéant retourne en $sortie[1] qui c'est (ici vincent). vous l'avez compris le " | " signifie OU mais en dehors d'un crochet seulement... ereg("[fdg |ghfgh]",$ch1) n'a aucune sens puisque qu'un crochet virtuel est déjà présent entre chaque caractère du crochet)


Source

  • <?
  • $pif = floor(microtime()*4)+1;
  • // on attribut à $prénom l'un des quatre au hasard
  • switch($pif) {
  • case 1 : $prénom = "vincent"; break;
  • case 2 : $prénom = "pierre"; break;
  • case 3 : $prénom = "niff"; break;
  • case 4 : $prénom = "anthony"; break;
  • }
  • $chaîne = "c'est $prénom qui a mangé le chocolat...";
  • $chaîne = eregi_replace("chocolat","camembert",$chaîne);
  • if(ereg("c'est (vincent|niff) qui a mangé le camembert\.\.\.",$chaîne,$sortie)) {
  • echo $sortie[1]." est méchant";
  • } else {
  • echo $prénom." est gentil";
  • }
  • ?>
<?
$pif = floor(microtime()*4)+1;

// on attribut à $prénom l'un des quatre au hasard

switch($pif) {
case 1 : $prénom = "vincent"; break;
case 2 : $prénom = "pierre"; break;
case 3 : $prénom = "niff"; break;
case 4 : $prénom = "anthony"; break;
}

$chaîne = "c'est $prénom qui a mangé le chocolat...";

$chaîne = eregi_replace("chocolat","camembert",$chaîne);

if(ereg("c'est (vincent|niff) qui a mangé le camembert\.\.\.",$chaîne,$sortie)) {
echo $sortie[1]." est méchant";
} else {
echo $prénom." est gentil";
}


?>

 Conclusion

ereg_replace signifie que l'on remplace le contenu du premier terme par celui du second dans la chaîne du troisième terme.
ereg_replace est sensible à la casse, eregi_replace ne l'est pas.

moi petit code, qui aurait pu être beaucoup plus simple, choisit au hasard un prénom parmi une liste de quatre.
si le prénom choisi est niff ou vincent alors on écrit qu'ils sont méchants, si c'est pierre ou anthony alors ils sont gentils. c'est stupide mais bon

bon le ereg_replace suit la même syntaxe que le ereg...
j'ai fini mes tutoriaux sur ereg, si vous voulez des exemples ou exmplications complémentaires sur n'importe quoi, demandez-les en commentaire sur le code.


 Sources du même auteur

Source avec Zip BASE DE MOTEUR DE RECHERCHE
MÉTHODE POUR FORMULAIRES
Source avec une capture DES GRAPHIQUES PARAMÉTRABLES
Source avec Zip TUTO+SOURCE #3 : ESPACE MEMBRE SANS MYSQL
TUTO+SOURCE #2 : ESPACE MEMBRE SANS MYSQL

 Sources de la même categorie

Source avec une capture INTÉGRER À UNE BASE DE DONNÉES DES COORDONNÉES GÉOGRAPHIQUES... par slhuilli
Source avec Zip DÉCOMPOSER UN CODE PHP AVEC LA FONCTION INCLUDE par Julien39
CRÉATION D'UN SCRIPT D'AUTHENTIFICATION par phpAnonyme
Source avec Zip Source avec une capture N/X API: GOOGLE MAPS DEPUIS PHP VALID W3C par GillesWebmaster
PHP EXTRAIRE DES MAILS D'UN GROS FICHIER LOCAL OU DISTANT par cosmoswarezone1

Commentaires et avis

Commentaire de NiFF le 01/02/2003 18:00:48

ok merci du clin d'oeil tu devrais venir sur le chan et mettre l'adresse de ton site

Commentaire de marsupiou le 02/02/2003 09:06:28

g pas encore tt lu (check) mais c grâce à des tutos comme ça qu'on peut faire avancer la populasse de codeurs php en herbe :) merci à toi (mdr le coup des gentils et des méchants :)

Commentaire de mehdibou le 02/02/2003 15:29:28

Continue tes tutos, les expressions régulières, c'est qqch de pas facile pour les débutants !
Mais pour la suite, je pense qu'il va falloir attaquer les expressions régulières compatibles Perl (Preg)...

Commentaire de revinc le 03/02/2003 17:37:05

oops les expressions compatibles perl j'en ai jamais fait...
si je fais encore des tutos, ce serait plutôt sur mysql ou des trucs genre "se faire une section membre" ou "se faire un outil stats

Commentaire de Kirua le 14/02/2003 19:45:29

une bonne adresse pr apprendre les expressions régulières:
http://www.phpbuilder.com/columns/dario19990616.php3
(c'est sensé être le bon lien, mais ça n'avait pas lair de marcher quand j'ai testé là, sinon allez sur phpbuilder.com et voyez ds les catégorie, c pas sorcier)

et une librairie énorme d'expressions (impressionnant ! )
www.regxlib.com


voilà ;)

Commentaire de revinc le 14/02/2003 20:03:52

c déjà plus clair que mon tuto en chinois:-)

Commentaire de Kirua le 23/02/2003 22:54:41

bah l'anglais ça ne devrait pas être une frontière pr la majorité. ciao ;)

Commentaire de dionysos6868 le 31/01/2005 16:12:03

bonjour a tous

et oui ce post date depuis longtemps mais ca persiste ;)

j'ai un souci avec les exprétion reguliere c'est vraiment pas mon fort :(

Comment puis je supprimer tout les mot de mois de 4 lettres dans une chaine de mot ???

Merci de vos réponse.

Commentaire de Kirua le 31/01/2005 17:30:53

Un algo simple serait de faire un explode() sur la chaîne selon les caractères d'espacement (typiquement le caractère ESPACE), puis de parcourir le tableau ainsi obtenu en supprimant l'élément (unset(...)) si son strlen < 4. ensuite tu récupères ta chaîne avec un implode().
Je dis, c'est juste une idée qui doit fonctionner et être très très facile à coder, mais je ne sais pas dans quelle mesure ce sera efficace... à comprendre par: c'est pas franchement optimal comme traitement.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,515 sec (3)

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