IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

preg_match sur 4 types de regex [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Par défaut preg_match sur 4 types de regex
    Bonjour,

    Je souhaiterai savoir comment mettre en place un preg_match sur un fichier et contenant 4 types de lignes :
    - Numérique de 1 à 1000 (exemple : 560)
    - Numérique et symboles (exemple : 00:01:01,592 --> 00:01:04,267). Regex : "/[0-9]:[0-9]/".
    - Phrase simple (exemple : Bonjour je m'appelle 19)
    - Ligne blanche (exemple : )

    Le reste je ne sais pas comment m'y prendre.

    Merci pour votre aide.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    montre que ce t'as en entrer et ce que tu souhaites en sortie

  3. #3
    Membre chevronné
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Par défaut
    Citation Envoyé par entreprise38 Voir le message
    si tu as un peu de mal avec les expressions régulières,

    - tant au niveau java : il existe d'excellents tutoriels sur Developpez même
    ----> celui de notre cyberzoide : http://cyberzoide.developpez.com/java/regex/ (incontournable, celui-là);

    - tant au niveau des expressions régulières :
    ----> la javadoc associée : http://java.sun.com/j2se/1.5.0/docs/...ttern.html#sum, tu auras tous les mots utilisables dans des regex en Java (je précise Java, car certains langages de programmation et plateformes ont des implémentations légèrement différentes des expressions régulières);
    ----> des sites tels que http://www.expreg.com/ proposent de bons cours. Ce site est pour PHP, mais il est très facile de passer ensuite à Java.

    Y'a plus qu'à.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu veux parser un fichier SRT ?

  5. #5
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $str="
    1\n00:00:00,000 --> 00:00:10,500\nBonjour,\nJe souhaiterai savoir comment mettre en place un preg_match sur un fichier et contenant 4 types de lignes\n\n
    2\n00:00:11,000 --> 00:00:16,256\nsi tu as un peu de mal avec les expressions régulières,\nil existe d'excellents tutoriels sur Developpez\n\n
    3\n00:00:17,600 --> 00:00:20,800\ntu veux parser un fichier SRT ?\n\n
    4\n00:00:22,802 --> 00:00:25,000\nIl semblerait que ce soit le cas oui\nTo be continued...\n\n";
     
    if(preg_match_all('/^(\d+)\r?\n(\d{2}:\d{2}:\d{2},\d{3})\s+-->\s+(\d{2}:\d{2}:\d{2},\d{3})\r?\n(.+?)\r?\n$/sm', $str, $res, PREG_PATTERN_ORDER)){
    	echo '<pre>';
    	print_r($res);
    	echo "</pre>\n";
    }
    Renvoie...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    /*
    Array(
    	[0] => Array(
    		[0] =>	1
    				00:00:00,000 --> 00:00:10,500
    				Bonjour,
    				Je souhaiterai savoir comment mettre en place un preg_match sur un fichier et contenant 4 types de lignes
     
    		[1] =>	2
    				00:00:11,000 --> 00:00:16,256
    				si tu as un peu de mal avec les expressions régulières,
    				il existe d'excellents tutoriels sur Developpez
     
    		[2] =>	3
    				00:00:17,600 --> 00:00:20,800
    				tu veux parser un fichier SRT ?
     
    		[3] =>	4
    				00:00:22,802 --> 00:00:25,000
    				Il semblerait que ce soit le cas oui.
    				To be continued...
    	)
     
    	[1] => Array(
    		[0] =>	1
    		[1] =>	2
    		[2] =>	3
    		[3] =>	4
    	)
     
    	[2] => Array(
    		[0] =>	00:00:00,000
    		[1] =>	00:00:11,000
    		[2] =>	00:00:17,600
    		[3] =>	00:00:22,802
    	)
     
    	[3] => Array(
    		[0] =>	00:00:10,500
    		[1] =>	00:00:16,256
    		[2] =>	00:00:20,800
    		[3] =>	00:00:25,000
    	)
     
    	[4] => Array(
    		[0] =>	Bonjour,
    				Je souhaiterai savoir comment mettre en place un preg_match sur un fichier et contenant 4 types de lignes
     
    		[1] =>	si tu as un peu de mal avec les expressions régulières,
    				il existe d'excellents tutoriels sur Developpez
     
    		[2] =>	tu veux parser un fichier SRT ?
    		[3] =>	Il semblerait que ce soit le cas oui
    				To be continued...
    	)
    )
    */

  6. #6
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    sans vouloir dévaluer la qualité des cours sur les expressions régulières java, il existe aussi un document dans la doc php, qui est extrêmement ardu à lire pour un non initié, mais qui devient comprehensible et complet dès qu'on a un peu de pratique. L'avantage c'est qu'il fourmille d'exemple en php.

    http://fr.php.net/manual/fr/pcre.pattern.php

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Par défaut
    Merci tout particulièrement à eric2a pour son aide, je test ça cet aprem et je vous tiens au courant.

    Au niveau code je souhaite obtenir ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    if(numero-chiffre) {
    ...
    } elseif(etc) {
    }
    ?>
    en sortie je veux soit afficher le numéro du sous-titre ou afficher par exemple le sous-titre à traduire, en effet je souhaiterais en faite afficher le str anglais et en face le str français pour faire de la traduction directe.
    Le problème vient surtout de l'affichage du st français.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. limite de caractère sur un type="texte"
    Par auduma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/03/2005, 14h06
  2. [MSDE] CREATE RULE sur un type utilisateur ?
    Par Raduris dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/01/2005, 12h24
  3. informations sur le type interval dans interbase
    Par devalender dans le forum InterBase
    Réponses: 6
    Dernier message: 03/06/2004, 10h29
  4. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55
  5. Application Portable sur differents types de BDD
    Par sylvain_2020 dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 23/09/2003, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo