REGEX

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 : REGEX

par marvllt » 05 sept. 2006, 12:09

Code : Tout sélectionner

<? $page=getvar('p'); switch($page) { //inscription case '1': $texte = array( 'titre' => 'Inscription', 'pseudo' => 'Votre pseudo', 'mdp' => 'Votre mot de passe', 'titre' => 'Inscription', 'verif_mdp' => 'Vérification', 'mail' => 'E-mail', 'ok' => 's\'inscrire', 'note' => '*Note: le multicomptisme est interdit et bannit dans le jeu! <br>Choisissez un pseudonyme (Attention: seul les lettres les chiffres les espaces et les "_" ou "-" sont acceptés dans les pseudos!).<br>Rentrez votre e-mail. Veillez à ce qu\'il soit valable, car vous recevrez une clé pour valider votre inscription à cette adresse.<br>Entrez votre mot de passe top secret que personne connait, je ne saurais que trop vous conseiller d\'éviter les mots de pass du genre "azerty" ou "1234"... Dans la deuxième case, répétez votre mot de passe une seconde fois.' ); break; //inscrire case'2': $texte = array( 'oubli' => 'Erreur, vous avez oublié un champ obligatoire.', 'erreur_mdp' => 'Vos mot de passe ne sont pas identique.', 'mdp_petit' => 'Erreur, vous devez rentrer un mot de passe plus court.', 'mdp_grand' => 'Erreur, vous devez rentrer un mot de passe plus long.', 'erreur_login' => 'Erreur, vous devez rentrer un login valide.', 'use_login_mail'=> 'Ce login est déjà utilisé, veuillez en choisir un autre.<br>Cette adresse e-mail est déjà utilisée, veuillez en choisir une autre.', 'use_login' => 'Ce login est déjà utilisé, veuillez en choisir un autre.', 'use_mail' => 'Cette adresse e-mail est déjà utilisée, veuillez en choisir une autre.', 'envoie_mail' => 'votre clef de validation vous sera envoyé par mail dans la demi heure. Notez bien cette dernière car vous en aurez besoin pour confirmer votre inscription. Pour ce faire, loguez vous en entrant votre login et mdp à gauche.', 'ton_login' => 'Votre login est:', 'retour' => 'retour', 'ton_mail' => 'votre adresse e-mail est:', 'textmail' => '<html><body>Bonjour %1\$s,<br><br><br></b>Vous vous etes inscrit sur le jeu online <a href="http://www.xxxx.info">www.xxxx.info</a>, voici vos identifiants:<br>Votre login est : <b>%1\$s</b><br>votre mot de passe est : <b>%2\$s</b>. <br>Pour valider votre inscription cliquez sur ce lien %3\$s.<br>Le forum vous permetra de vous faire des alliés et de comprendre le monde de xxx, mais aussi de proposer vos idées pour le devellopement du jeu, etc...<br>Merci, et à bientot!<br>L\'equipe de xxxx<br></body></html>' ); break; ?>
je m'explique tout mon texte je le mets dans des array pour pouvoir faire un site multilingue et donc je voudrai pouvoir selectionner les $texte un par un

par Nathaire » 05 sept. 2006, 11:10

Donne nous un exemple e texte que tu voudrais capturer...

Re: REGEX

par marvllt » 05 sept. 2006, 09:50

oui mais ma page ne commence pas par $texte c'est la partie que je veux capturer qui commence par $texte donc si j'utilise preg_match_all ça ne va pas ???

par Cyrano » 31 août 2006, 23:09

Je suis persuadé du contraire, mais il est possible que certains éléments t'échappent: si tu ne précises pas lesquels, on aura du mal à deviner.

Si tu as suivi le lien vers la doc sur preg_match(), tu as du voir les exemples. Là, il y a peut-être quelque chose qui pour toi est totalement abstrait, mais tu as sans doute compris d'autres points. non ?

par marvllt » 31 août 2006, 23:02

ok ben j'ai rien compris tampis ^^

par Cyrano » 31 août 2006, 19:41

Tu l'utilise en combinaison avec les fonctions telles que preg_match() par exemple.

par marvllt » 31 août 2006, 19:37

j'ai pas tout compris dans ce que tu viens de me dire :oops: j'en fais quoi du $masque ??

par Cyrano » 31 août 2006, 19:33

Les REGEX ne s'apprennent ni facilement ni rapidement. Mais grossomodo, le masque de capture selon ce que tu cherches est relativement basique :
- commençant par :arrow: ^ Ce symbole indique que ce qui suit doit être au début de la chaine recherchée
- $texte
- suivi par en principe n'importe quoi :arrow: .* le point représente "n'importe quel caractère"
- ); :arrow: \); note, la parenthèse est un caractère spécial des expressions régulières, donc on l'échappe avec un \
- se terminant par :arrow: $ Ce qui précède le "$" doit terminer la chaine recherchée
Ce qui nous donne:
<?php
$masque = "#^(". $texte .").*\);$#";
?>
Pour les tutos, il y en a un sur le sujet sur le site de PHPFrance.

REGEX

par marvllt » 31 août 2006, 19:21

bonjour a tous

donc voila j'aimerai capturer une partie d'une page qui commence par $texte et qui fini par );

si vous ne voulez pas me passer le code passer moi un bon lien ou je pourrai apprendre le REGEX facilement et rapidement

merci d'avance

A+, Marvllt