Čitanje text-a sa stranice

Čitanje text-a sa stranice

offline
  • Pridružio: 26 Avg 2008
  • Poruke: 100

Pitanje je vezano za internet radio.

Dakle, Winamp šalje serveru naziv "Trenutne pesme" koja se prikazuje na adresi 123.456.789:9000/currentsong?sid=1

Kako mogu da na posebnoj web stranici namestim:

Trenutna pesma : (pa ovde da piše text koji se nalazi na 123.456.789:9000/currentsong?sid=1 )



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14824
  • Gde živiš: Niš

Napisano: 02 Mar 2018 18:36

U čistom JS-u?

Dopuna: 02 Mar 2018 18:54

Otprilike ovako: https://www.w3schools.com/xml/ajax_intro.asp



offline
  • Pridružio: 26 Avg 2008
  • Poruke: 100

vasa.93 ::Napisano: 02 Mar 2018 18:36

U čistom JS-u?

Dopuna: 02 Mar 2018 18:54

Otprilike ovako: w3schools.com/xml/ajax_intro.asp



<?php  $content = getTextFromPage('http://XXX.XX.XX.XX:9000/currentsong?sid=1');  echo trim($content); function getTextFromPage($url) {      $data = file_get_contents($url);     $plaintext = preg_replace('#([<]title)(.*)([<]/title[>])#s', ' ', $data);             $plaintext = strip_tags($plaintext);     return $plaintext; } ?>    

Ovaj kod mi radi. Ali ne u potpunosti. Prikazuje šta treba. Ali ne menja sadržaj kada se promeni pesma u winampu. Tek nakon refreša stranice se učita novi tekst.

Da li znaš kako to da rešim ?

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14824
  • Gde živiš: Niš

Tako je. To je zato što ti php izgeneriše statičnu stranicu. Da bi dobio to što želiš moraš da koristiš JS i asinhrone zahteve.

offline
  • arnage 
  • Novi MyCity građanin
  • Pridružio: 13 Feb 2013
  • Poruke: 16

Konkretan snippet za CentovaCast setup:

<?php /*  * Forcing UTF-8 encoding in non-UTF-8 text editors >>> šđžćč <<< */ define('secret', false); require 'secret/secret/secret.php'; $url = isset($_POST['currentradiourl']) ? $_POST['currentradiourl'] : ''; $port = isset($_POST['currentradioport']) ? $_POST['currentradioport'] : ''; $contents = get_contents('http://' . $url . ':' . $port . '/played.html?sid=1'); $pre = preg_replace('/<\!DOCTYPE(.*?)<\/table><\/td><\/tr><\/table>/', '', $contents); preg_match('/Title<\/b><\/td><\/tr><tr><td>(.*?)<\/td><td>(.*?)<td style=/', $pre, $cur); $current = strstr($cur[2], 'secret-Radio') ? '' : $cur[1] . ' ' . $cur[2]; preg_match('/Current Song<\/b><\/td><\/tr><tr><td>(.*?)<\/tr><\/table>/', $pre, $con); $content = str_replace(array('</tr>', '</td>', '<br></body></html>'), '', $con[1]); $content = str_replace('<td>', ' ', $content); $array = explode('<tr>', $content); header('Content-Type: text/html; charset=' . ENCODING . ''); echo '<p><span style="color: #A9BF00;">' . htmlentities($current, ENT_QUOTES, ENCODING) . '</span>'; $i = 0; foreach ($array as $v) {    $color = ($i % 2 == 0 ? 'BDBDBD' : '969696');    if (strstr($v, 'secret-Radio') || strstr($v, '##'))       continue;    $v = preg_replace('/ \((.*?)\)| \[(.*?)\]/', '', $v);    if (mb_strlen($v, ENCODING) > 60) {           $v = mb_substr($v, 0, 60, ENCODING);       $pos = strrpos($v, ' ');       $v = mb_substr($v, 0, $pos, ENCODING) . '...';    }    echo '<div style="color: #' . $color . '; margin: 0.2em;">' . htmlentities($v, ENT_QUOTES, ENCODING) . '</div>';    $i++; } echo '</p>'; ?>

ENCODING - const = utf8
get_contents - cURL custom set funkcija;

- Kod obeležava tekuću pesmu drugom bojom i potom lista pesme naizmeničnog back-color;
- Samo iz istorije briše stvari tipa (feat) ili [feat];
- Briše naslov reklame iz istorije;
- Skraćuje predugačke naslove pesama na poslednju reč bez isecanja...

Ako treba neko pojašnjenje, pitaj slobodno.

AJAX deo već vidi kako i šta pa kompletiraj..

Ko je trenutno na forumu
 

Ukupno su 1068 korisnika na forumu :: 32 registrovanih, 7 sakrivenih i 1029 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., aramis s, Asparagus, Atomski čoban, boracbl1389, Boris90, darcaud, FileFinder, Georgius, goxin, hyla, JohnnyBoii, Kubovac, KUZMAR, kybonacci, ljuba, loon123, magna86, mrav pesadinac, nemkea71, nenad81, pristinski korpus, raptorsi, rikirubio, sabros, SD izvidjac, Smajser, vathra, zastavnik, Zimbabwe, šumar bk2, 79693