Accueil > Forum > > > > Masque pour preg_match() ... Aidez-moi !
Masque pour preg_match() ... Aidez-moi !
samedi 15 novembre 2003 à 08:05:36 |
Masque pour preg_match() ... Aidez-moi !

LocalStone
|
Alors, j'expose le problème : J'ai 1 fichier texte qui contient des ligne du style : | 0004 - Chu Chu Rocket (J) |
Donc le masque approprié pour séparer les éléments, c'est : | $masque = '/(.*) - (.*) (.*)/' |
Le problème, c'est que ça marche si c'est sous la forme précédente, mais si j'ai quelque chose comme ça : | 0000 - un titre - avec un tiret (U) |
Et bien, y a tout qui foire parce que le compilateur se trompe de tiret ... J'en ai marre, ça fait plein de fois que j'ai ce problème et je ne trouve pas de solution ! Aidez-moi ... Snif ! LocalStone
|
|
samedi 15 novembre 2003 à 13:17:24 |
Re : Masque pour preg_match() ... Aidez-moi !
|
samedi 15 novembre 2003 à 15:32:05 |
Re : Masque pour preg_match() ... Aidez-moi !

Tomcube
|
<? $maligne = "0000 - un titre - avec un tiret (U)"; // par exemple avec la ligne là
$numero = substr($maligne,0,4); $texte = substr($maligne,7);
?>
Normalement ça devrait marcher parce qu'à mon avis, tes chiffres à gauche ne vont jamais dépasser 4 chiffres. Tu l'a prévenu en mettant "0004" au lieu de "4"
|
|
samedi 15 novembre 2003 à 17:27:40 |
Re : Masque pour preg_match() ... Aidez-moi !

LocalStone
|
Oui, c'est vrai que cette solution est envisageable ... Mais même, je ne comprends pas pourquoi ce putain de masque ne fonctionne pas ... Parce que ta solution convient parfaitement pour ce cas, mais par exemple, pour parser l'HTML en PHP et si tu as 2 balises identiques sur la même ligne, ça ne marche pas ... Merci quand même, je vais utiliser ta solution. LocalStone
|
|
mercredi 19 novembre 2003 à 22:23:34 |
Re : Masque pour preg_match() ... Aidez-moi !

str
|
Salut,
Ton problème est tout à fait normal.
Le problème que tu as dans ton deuxième exemple est le même que dans le premier.
Explications :
Dans le premier exemple, php arrive à satisfaire la première partie du masque. Il ne peux donc pas retourner d'erreur bien que la présence de plusieurs espace ne lui permette pas de satisfaire la seconde partie du masque.
Dans le second exemple, php n'arrive pas à satisfaire le masque parce qu'il ne peux pas sélectionner un seul des deux tirets.
Il suffit donc que tu utilise des options comme "Uis" par exemple pour faire un masque que tu peux satisfaire.
Après, il faut juste savoir ce que tu veux exactement séparer.
A partir de ça : 0004 - Chu Chu Rocket (J)
si tu veux "0004" et "Chu Chu Rocket (J)" je te conseil d'utiliser la fonction explode avec le masque " - "
si tu veux "0004" et "Chu Chu Rocket" et "(J)" alors là, ça se complique et à cause des espaces, tu va te trouver face à des erreurs à chaque nouvel éléments que tu ne prendra pas en compte dans ton masque comme le point d'intérogation, le point, etc...
Le tiret étant fréquement utilisé dans les caractères de texte, je te conseil le "pipe" | ou "double pipe" || comme séparateur. C'est moins commun et tu peux le remplacer par un autre caractère dans l'éventualité ou il serait insérer dans une ligne de ton fichier (assez rare). C'est une solution qui t'évitera pas mal de désaggréments et te permettra de te faire la main sur les masques.
Les masques et les expressions régulières en général sont très pratiques mais seront plus rapidement exécutées en PERL.
sEe YoU
[StR]
|
|
jeudi 20 novembre 2003 à 13:02:46 |
Re : Masque pour preg_match() ... Aidez-moi !

Tomcube
|
Ouais, là tu traite le problème à la base, ce qui est très bien. Le tiret étant en effe très commun mieux vaut utiliser les pipes ou l'arobase. Par contre, si son fichier contient déjà 2000 entrées comme celles-ci, je le voit mal changer toutes ces entrées avec une double pipe ou un arobase ! Au fait, est-ce que t'as testé ma solution ?
|
|
vendredi 21 novembre 2003 à 17:51:52 |
Re : Masque pour preg_match() ... Aidez-moi !

LocalStone
|
Oui ! C'est un peu barbare mais ça à le merite de marcher. J'ai fais la même chose pour la langue puisqu'elle aussi reste invariable. Merci ! LocalStone
|
|
Cette discussion est classée dans : problème, code, masque, preg, match
Répondre à ce message
Sujets en rapport avec ce message
Métacaractères... [ par mfaraday ]
Salut...Est-ce que quelqu'un pourrait m'expliquer comment utiliser les métacaractères dans un profil de recherche pour la fonction preg_match par exem
Problème avec preg_match_all [ par Bountard ]
Salut à tous, j'ai un petit problème avec l'utilisation de preg_match_all. Pour faire plus simple voila mon bout de code d'essai : $html = ' un
Problème avec preg_match_all [ par nisaloncaje ]
BonjourJe comptais utiliser la fonction preg_match_all afin d'extraire d'une chaine caractère les sous chaines contenues entre 2 balises ([yt] et [/y
problème preg_match ou autre [ par mike1310 ]
Bonjour à tous,je suis en train de me créer un moteur de template simple et j'aimerais faire, à l'aide d'un preg_match ou autre, récupérer dans ma pag
preg_match_all [ par Kloyd ]
Bonjour j'aimerais recuperer à l'aide d'un Preg match all hors du code ci-dessous: [code=html] <img
Requette SQL => UPDATE problème [ par Nodoka ]
Bonjours, Voilà mon problème, ma fonction UPDATE ne fonctionne pas, j'essaye de comprendre mais je ne vois pas d'ou viens le soucis. Mon cas est simp
Expression régulière balaise [ par rekam ]
Bonjour! Je cherche depuis un moment un moyen de faire une expression régulière pour résoudre ce genre de cas: [code=php] du texte divers {une_strin
Problème import fichier LOAD DATA... [ par Youss22 ]
Bonjour à tous, Je me retourne vers vous concernant un problème d'importation de fichier csv dans une table, après avoir retourné le problème dans le
Problème de débutant avec variable get etc ... [ par jimyarts ]
Bonjour à toute la communauté, J'ai un problème qui m'embête vraiment dans la construction de mon site d'autant plus que je n'en connais pas la cause
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|