Seconden uit script halen
Sinds een aantal weken ben ik met een paar man een nieuw online radio-station begonnen.
Ik mag daarvoor de website bijhouden.
Via een site heb ik een PHP-script gevonden dat de laatste 10 gedraaide platen toont op onze site.
Dit wordt middels een i-frame ingeladen.
In dit script wordt naast artiest-titel ook de tijd weergeven in uren-minuten-seconden.
Van dat laatste wil ik heel graag af, maar ik ben nogal een leek wat betreft PHP.
Het gaat om onderstaand script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<link rel="stylesheet" href="style2.css">
<meta http-equiv="refresh" content="50;URL=history.php">
<?php
set_time_limit(0);
$open = fsockopen("213.222.25.84",8472,$errno,$errstr,1);
$out = "GET /played.html HTTP/1.1\nUser-Agent:Mozilla\n\n";
fwrite($open,$out);
while (!feof($open)) {
$data = fgets($open, 2000000);
}
$data = explode("Song Title",$data);
$data = explode("</table>",$data[1]);
$data = str_replace("</b>","<b>",$data[0]);
$data = str_replace("Current Song"," (NU ON AIR)",$data);
$data = str_replace("</tr><tr>","<br>",$data);
$data = str_replace("</td><td>"," - ",$data);
echo $data;
fclose($open);
?>
<meta http-equiv="refresh" content="50;URL=history.php">
<?php
set_time_limit(0);
$open = fsockopen("213.222.25.84",8472,$errno,$errstr,1);
$out = "GET /played.html HTTP/1.1\nUser-Agent:Mozilla\n\n";
fwrite($open,$out);
while (!feof($open)) {
$data = fgets($open, 2000000);
}
$data = explode("Song Title",$data);
$data = explode("</table>",$data[1]);
$data = str_replace("</b>","<b>",$data[0]);
$data = str_replace("Current Song"," (NU ON AIR)",$data);
$data = str_replace("</tr><tr>","<br>",$data);
$data = str_replace("</td><td>"," - ",$data);
echo $data;
fclose($open);
?>
Ik heb al meerdere site bezocht en een hoop zelf geprobeerd, $date ("H:i") invullen etc, maar het wil niet lukken. Wat zie ik over het hoofd?
Het werkende script is hier te zien: https://www.radio202.nl/history.php
Hopelijk dat iemand mij hier kan helpen!
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht. Quotes zijn enkel bedoeld voor het citeren van tekst.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 15/01/2020 19:23:37 door - Ariën -
Eigenlijk zou het mooier zijn met DOMdocument() de HTML uit te lezen, en de data eruit te extraheren zodat je zelf alles zelf een eigen vorm kan geven.
Maar als je toch bezig bent met alles 'replacen' kun je dit toch ook gewoon met de tijd doen?
Code (php)
1
2
3
4
2
3
4
<?php
//2 digits : 2 digits : 2 digits spatie streep spatie, vervangen door niks.*
$newdata = preg_replace("/\d{2}:\d{2}:\d{2}\s-\s/", "", $data);
?>
//2 digits : 2 digits : 2 digits spatie streep spatie, vervangen door niks.*
$newdata = preg_replace("/\d{2}:\d{2}:\d{2}\s-\s/", "", $data);
?>
Gewijzigd op 15/01/2020 20:00:11 door Michael -
- Ariën - op 15/01/2020 19:34:36:
Dan moet je eerst de datum extraheren uit de code. Alleen is het jammer dat je dit steeds overschrijft met $data. Dat maakt het lastig om te achterhalen waar de datum in zit.
Eigenlijk zou het mooier zijn met DOMdocument() de HTML uit te lezen, en de data eruit te extraheren zodat je zelf alles zelf een eigen vorm kan geven.
Eigenlijk zou het mooier zijn met DOMdocument() de HTML uit te lezen, en de data eruit te extraheren zodat je zelf alles zelf een eigen vorm kan geven.
Dank voor de feedback! Ik ben wat php betreft echt een leek. Op https://www.w3schools.com/jsref/dom_obj_document.asp zie ik een hoop functies, maar welke heb ik nu nodig?
Gewijzigd op 15/01/2020 21:10:32 door Ward S
Ward S op 15/01/2020 20:42:15:
Dank voor de feedback! Ik ben wat php betreft echt een leek. Op https://www.w3schools.com/jsref/dom_obj_document.asp zie ik een hoop functies, maar welke heb ik nu nodig?
Op deze manier krijg je alleen de titels.
De $i is voor het overslaan van 'Song title'.
Code (php)
output:
Green Day - Know Your Enemy
Secondcity - What Can I Do
A-Ha - Take on Me
Charles & Eddie - Would I Lie to You?
Supergrass - Pumping on Your Stereo
Nightcrawlers - Push the Feeling On
The Rolling Stones - Undercover of the Night
The Isley Brothers - (Can't You See) What You Do To Me?
Elton John - I'm Still Standing
Taylor Dayne - Tell it to My Heart
Secondcity - What Can I Do
A-Ha - Take on Me
Charles & Eddie - Would I Lie to You?
Supergrass - Pumping on Your Stereo
Nightcrawlers - Push the Feeling On
The Rolling Stones - Undercover of the Night
The Isley Brothers - (Can't You See) What You Do To Me?
Elton John - I'm Still Standing
Taylor Dayne - Tell it to My Heart
Edit: antwoord uitgebreid.
Gewijzigd op 16/01/2020 01:18:42 door Michael -