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..
|