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 :

expression régulière preg_match_all


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 14
    Points
    14
    Par défaut expression régulière preg_match_all
    bonjour,
    je recup la sortie du programme ffmpeg et j'aimerais récupérer la valeur de SAR et DAR

    j'arrive à trouver le nbr de pixels largeur hauteur par cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $pattern = '/Video: .*, ([0-9]{2,4}x[0-9]{2,4})/';
    	preg_match_all($pattern, $result, $matches, PREG_PATTERN_ORDER);
    	$resolution = $matches[1][0];
    j'ai essayé cela mais je ne recupère pas la valeur entre les crochets [ et ] (je récup celle qui est plus loin et qui ne m'intéresse pas ;p)
    c'est celle ci qui m'interesse : [SAR 16:15 DAR 4:3],
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
     
      $pattern = '/SAR ([0-9]{1,3}:[0-9]{2})/';
     
    preg_match_all($pattern, $result,$out, PREG_PATTERN_ORDER);
    print_r($out);
    voici la sortie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ffmpeg version 1.0 Copyright (c) 2000-2012 the FFmpeg developers  built on Sep 29 2012 11:22:50 with gcc 4.7.1 (GCC) 20120721 (prerelease)  configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-libgsm --enable-libspeex --enable-postproc --enable-shared --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp --enable-libpulse --enable-libv4l2 --enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug --disable-static  libavutil      51. 73.101 / 51. 73.101  libavcodec     54. 59.100 / 54. 59.100  libavformat    54. 29.104 / 54. 29.104  libavdevice    54.  2.101 / 54.  2.101  libavfilter     3. 17.100 /  3. 17.100  libswscale      2.  1.101 /  2.  1.101  libswresample   0. 15.100 /  0. 15.100  libpostproc    52.  0.100 / 52.  0.100Guessed Channel Layout for  Input Stream #0.1 : stereoInput #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/website/0rd9ZjyU.mov':  Metadata:    major_brand     : qt    minor_version   : 537199360    compatible_brands: qt    creation_time   : 2012-10-07 11:15:31  Duration: 00:01:59.68, start: 0.000000, bitrate: 30340 kb/s    Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 
    720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, SAR 59:54 DAR 295:216, 25 fps, 25 tbr, 25 tbn, 25 tbc    Metadata:      creation_time   : 2012-10-07 11:15:31      handler_name    : Gestionnaire d�alias Apple      timecode        : 01:00:00:00    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s    Metadata:      creation_time   : 2012-10-07 11:15:31      handler_name    : Gestionnaire d�alias Apple    Stream #0:2(eng): Data: none (tmcd / 0x64636D74)    Metadata:      creation_time   : 2012-10-07 11:15:45      handler_name    : Gestionnaire d�alias Apple      timecode        : 01:00:00:00At least one output file must be specified
    merci pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    "A la main" ça marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $result = "ffmpeg version 1.0 Copyright (c) 2000-2012 the FFmpeg developers  built on Sep 29 2012 11:22:50 with gcc 4.7.1 (GCC) 20120721 (prerelease)  configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-libgsm --enable-libspeex --enable-postproc --enable-shared --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp --enable-libpulse --enable-libv4l2 --enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug --disable-static  libavutil      51. 73.101 / 51. 73.101  libavcodec     54. 59.100 / 54. 59.100  libavformat    54. 29.104 / 54. 29.104  libavdevice    54.  2.101 / 54.  2.101  libavfilter     3. 17.100 /  3. 17.100  libswscale      2.  1.101 /  2.  1.101  libswresample   0. 15.100 /  0. 15.100  libpostproc    52.  0.100 / 52.  0.100Guessed Channel Layout for  Input Stream #0.1 : stereoInput #0, mov,mp4,m4a,3gp,3g2,mj2, from 'upload/website/0rd9ZjyU.mov':  Metadata:    major_brand     : qt    minor_version   : 537199360    compatible_brands: qt    creation_time   : 2012-10-07 11:15:31  Duration: 00:01:59.68, start: 0.000000, bitrate: 30340 kb/s    Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 
    720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, SAR 59:54 DAR 295:216, 25 fps, 25 tbr, 25 tbn, 25 tbc    Metadata:      creation_time   : 2012-10-07 11:15:31      handler_name    : Gestionnaire d�alias Apple      timecode        : 01:00:00:00    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s    Metadata:      creation_time   : 2012-10-07 11:15:31      handler_name    : Gestionnaire d�alias Apple    Stream #0:2(eng): Data: none (tmcd / 0x64636D74)    Metadata:      creation_time   : 2012-10-07 11:15:45      handler_name    : Gestionnaire d�alias Apple      timecode        : 01:00:00:00At least one output file must be specified";
    $pattern = '/SAR ([0-9]{1,3}:[0-9]{2})/';
    preg_match_all($pattern, $result,$out, PREG_PATTERN_ORDER);
    print_r($out);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [0] => Array ( [0] => SAR 16:15 [1] => SAR 59:54 ) [1] => Array ( [0] => 16:15 [1] => 59:54 ) )
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 848
    Points : 6 535
    Points
    6 535
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $pattern = '/(\d{2,4})x(\d{2,4})\s\[SAR\s(\d{1,2}:\d{1,2})\sDAR\s(\d{1,2}:\d{1,2}])/';
    preg_match($pattern, $ffmpegOutput, $match);
    array_shift($match);
    $result = array_combine(array('width', 'height', 'SAR', 'DAR'), $match);
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

Discussions similaires

  1. [RegEx] [HTML PARSER] expression régulière avec preg_match_all
    Par Exca dans le forum Langage
    Réponses: 13
    Dernier message: 22/10/2011, 12h31
  2. Expression régulière preg_match_all()
    Par madislak dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 19/04/2009, 12h25
  3. [RegEx] Expression régulière avec preg_match_all
    Par tit_oune dans le forum Langage
    Réponses: 6
    Dernier message: 19/05/2006, 00h28
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 19h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 16h21

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