Remplacer du texte par un autre

Eléphant du PHP | 103 Messages

09 déc. 2014, 18:19

Bonjour,
Je dirige actuellement une app et un site pour regarder la TV et j'ai réussi à faire un script php pour récupérer l'URL de chaines TV (MCM Top et TV5 Monde Europe).
Leur token change, c'est pour ça que j'ai de l'aide. Dans l'URL, il y a des caractères en trop. j'ai peu de connaissances en PHP et du coup n'arrive pas à les enlever. Je pense qu'il faut un STR Replace mais j'ai du mal. Voici les liens : http://cdn-racacax.lescigales.org/tv5mondeeurope.php
http://cdn-racacax.lescigales.org/mcmtop.php

Merci

Eléphant du PHP | 63 Messages

09 déc. 2014, 22:02

Salut

C'est du json qui sera décodé par la fonction json_decode
<?php

$json = '{"st":"http:\/\/hls05-05.az.myvideo.az\/hls-live\/livepkgr\/mcmtop\/mcmtop\/mcmtop.m3u8?v=1418149903&U7582h55odhvbtbxJs"}';
$php = json_decode($json, true);
var_dump($php);
echo current($php);

?>

Eléphant du PHP | 103 Messages

10 déc. 2014, 20:01

Merci mais sur la page, le champ

Code : Tout sélectionner

?v=1418149903&U7582h55odhvbtbxJs
change. Du coup, au bout d'un moment, le token arrivera à expiration.

Eléphant du PHP | 63 Messages

10 déc. 2014, 22:19

Salut

Je ne connais pas grand chose au streaming de télévision. La playlist m3u8 contient 5 séquences vidéo ts (transport stream) qui semblent être de 10 secondes chacune et probablement que le v indique la séquence de démarrage de cette playlist. C'est donc à ton logiciel de streaming ts de continuer à partir de là. Hier j'ai testé
<?php

$json = file_get_contents('http://cdn-racacax.lescigales.org/tv5mondeeurope.php');
$feed = current(json_decode($json));
echo '<object type="audio/x-mpegurl" height="600" width="800" data="', $feed, '"></object>';

?>
Avec chrome et VLC comme lecteur de streaming et j'ai écouté un documentaire de tv5 pendant une trentaine de minutes.

Si tu veux enlever le champs v, tu peux t'amuser avec parse_url ou encore une combinaison de substr et strpos, moi je préfère preg_replace
$json = '{"st":"http:\/\/hls05-05.az.myvideo.az\/hls-live\/livepkgr\/mcmtop\/mcmtop\/mcmtop.m3u8?v=1418149903&U7582h55odhvbtbxJs"}';
$url = current(json_decode($json, true));
echo preg_replace('/\?.*$/', '', $url); // ou echo substr($url, 0, strpos($url, '?'));
Bonne chance

Eléphant du PHP | 103 Messages

13 déc. 2014, 19:56

Merci à toi ;)