Fork me on GitHub






Besoin d'aide pour un regex
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
Salut

Je suis en train d'écrire un script pour récupérer un lien sur une page web (mon compte premium), j'ai juste un soucis avec le regex de l'url, je n'arrive pas à le faire fonctionner.

Je fait un premier regex sur la page pour récup le code entre les balises <video> pas de soucis mais ensuite, je doit faire le tri et extraire 1 url en particulier.

Voila a quoi ça ressemble:

$regex '/<div id='vid'>(.*?)</div>/s'; if ( preg_match($regex$content$list) )     echo $list[0]; else     print "Not found";


résultat de la variable:
<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="360"
poster="https://www72.uptobox.com/thumbnail/dfcdd7ad11b196101fc3983c79c402cf_big.jpg">

<
source src='http://www72.uptobox.com/stream/5dtyu89173/360/0' type='video/mp4' data-res='360p' data-default="true" lang='unknow 0' idLang='0'/>
<
source src='http://www72.uptobox.com/stream/5dtyu89173/480/0' type='video/mp4' data-res='480p'  lang='unknow 0' idLang='0'/>
<
source src='http://www72.uptobox.com/stream/5dtyu89173/720/0' type='video/mp4' data-res='720p'  lang='unknow 0' idLang='0'/>
<
source src='http://www72.uptobox.com/stream/5dtyu89173/1080/0' type='video/mp4' data-res='1080p'  lang='unknow 0' idLang='0'/>
        
          </
video>


je veut extraire les urls en commençant par la plus haute résolution, si 1080p n'existe pas, je passe au 720p bref, le soucis c'est mon regex qui passe pas:

$regexurl '/<source src='(.*?)' type='video/mp4' data-res='1080p'/s';
if ( 
preg_match($regexurl$list[0], $listurl) )
    echo 
$listurl[0];
else
$regexurl '/<source src='(.*?)' type='video/mp4' data-res='720p'/s';
if ( 
preg_match($regexurl$list[0], $listurl) )
    echo 
$listurl[0];
else
    print 
"url Not found";


et j'ai l'erreur suivante:
Unknown modifier 'p' in /customers/e/2/9/streamingfilm.me/httpd.www/recup_link.php on line 52 url Not found

j'ai essayer de mettre le p comme ceci[p] mais c'est pareil.
j'ai essayé des tas de combinaison sans succés d'ou mon message.

PS:les anti-slash disparaissent dans la balise code, ça me parrait pas normale.
Bon voila une image pour tout voir:
Open in new window


Merci de votre aide

Posté le : 06/04/2015 16:12
Partager Twitter Partagez cette article sur GG+
Re: Besoin d'aide pour un regex
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
Y'avais une erreur avec le if mais ça ne change rien, je cherche tjrs comment faire.

code final(regex a changer)
Open in new window

Posté le : 06/04/2015 17:11
Partager Twitter Partagez cette article sur GG+
Re: Besoin d'aide pour un regex
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
Bon j'ai tout refait maintenant ça passe mais ça ne me retourne pas ce que je veut:

Open in new window


mais au lieu de me retourner le morceau d'url que je lui demande, avec print_r j'ai ceci dans le code source:
Open in new window


je pige pas trop pourquoi il me sort tout ça et pourquoi y'a des parties en rouge.

c'est pas gagné.

Posté le : 06/04/2015 18:30
Partager Twitter Partagez cette article sur GG+
Re: Besoin d'aide pour un regex
Régulier
Inscrit: 10/09/2007 11:51
Messages: 476
POUAHHHH


J'ai réussi, quelle galère!!!

$regex '/<div id='vid'>(.*?)</div>/s';
if ( 
preg_match($regex$content$list) ){
     echo 
$list[0];
}
$urlimg $list[0];
 
$urlpattern "/(http?)://(www.)?[a-z0-9.:].*?/1080//i";
if(
preg_match_all($urlpattern$urlimg$matches))
{
    foreach (
$matches[0] as $url
    { 
        echo 
$url."<br>";    
    } 
}

Posté le : 06/04/2015 23:01
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

61 Personne(s) en ligne (45 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 61 | Plus ...