Hallo beste mensen....
Klaas is hier :)
ik loop nu ik de laatste php versie heb tegen een probleem op.
het radio script wat ik nu gebruik werkt helaas niet meer omdat er een paar dingen zijn veranderd
bv:
$pageed = ereg_replace(".*<$loop[$y]>", "", $page);

nu heb ik gelezen dat je de ereg_replace moet veranderen in preg_replace.
maar ik kom er niet helemaal uit wat betreft de zoekstringen etc..
zou iemand didt script kunnen fixen?
momenteel verdwaal ik er in.
bvd: Klaas

<script>
<!--

/*
Auto Refresh Page with Time script
By JavaScript Kit (javascriptkit.com)
Over 200+ free scripts here!
*/

//enter refresh time in "minutes:seconds" Minutes should range from 0 to inifinity. Seconds should range from 0 to 59
var limit="0:30"

if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else{ 
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+" minutes and "+cursec+" seconds left until page refresh!"
else
curtime=cursec+" seconds left until page refresh!"
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}

window.onload=beginrefresh
//-->
</script>

<?php
//Configuration
$scdef = " ";               // Default station name to display when server or stream is down
$scip = " ";               // ip or url of shoutcast server
$scport = " ";             // port of shoutcast server
$scpass = "";             // password to shoutcast server
$scfp = fsockopen("$scip", $scport, &$errno, &$errstr, 10);
 if(!$scfp) {
  $scsuccs=1;
echo''.$scdef.'Radio Is Currently Offline';
 }
if($scsuccs!=1){
 fputs($scfp,"GET /admin.cgi?pass=$scpass&mode=viewxml HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n");
 while(!feof($scfp)) {
  $page .= fgets($scfp, 1000);
 }
######################################################################################################################
/////////////////////////part 1 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//define  xml elements
 $loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS");
 $y=0;
 while($loop[$y]!=''){
  $pageed = ereg_replace(".*<$loop[$y]>", "", $page);
  $scphp = strtolower($loop[$y]);
  $$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
  if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
   $$scphp = urldecode($$scphp);

// uncomment the next line to see all variables
//echo'$'.$scphp.' = '.$$scphp.'<br>';
  $y++;
 }
//end intro xml elements
######################################################################################################################
######################################################################################################################
/////////////////////////part 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//get song info and history
 $pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
 //$pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
 $songatime = explode("<SONG>", $pageed);
 $r=1;
 while($songatime[$r]!=""){
  $t=$r-1;
  $playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
  $playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
  $song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
 // $song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
  $song[$t] = urldecode($song[$t]);
  $dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
 // $dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
$r++;
 }
//end song info
fclose($scfp);
}
//display stats
if($streamstatus == "1"){
//you may edit the html below, make sure to keep variable intact
echo"
<center>
<table>
<td><font face='verdana' size='1.5' color='#A3A3A3'>
My Last Fm: <br>
<img src='images/lastfm.png' border='0'></img></td>
<td>
<img src='images/test.png' border='0'></img></td>
<td><img src='images/master1.png' border='0'></img></td>
<td><font face='verdana' size='1.5' color='#A3A3A3'>
Dj:<b>".$servertitle."</b><br>
Bitrate:<b>".$bitrate."kbps</b><br>
Current Listeners:<b>".$currentlisteners."</b>&nbsp;&nbsp;&nbsp;&nbsp;<br>
Max Listeners: <b>30</b></td>
<td><font face='verdana' size='1.5' color='#A3A3A3'>
<marquee>Now Playing: <b>".$song[0]."</marquee></b><br>
  
Last Played: <b>".$song[1]."</b></font></td>
<td>
<img src='images/Tower1.png'alt='Tower' border='0'></img></td>
</tr>
</table></center>";
}
if($streamstatus == "0")
{
//you may edit the html below, make sure to keep variable intact
echo "
<center>
<table>
<tr>
<td>
<td><img src='images/radiodown.png' border='0'></img></td>
</tr>
</table></center>";
}
?>


 $pageed = preg_replace("/.*<$loop[$y]>/", "", $page); 


Ter info:
Die toegevoegde / aan het begin en eind zijn is de 'delimiter' Na de laatste slash kan je een modifier gebruiken om bijv. in te stellen of iets hoofdlettergevoelig is, of er specifiek naar woorden moet worden gezocht en dergelijke.
Hallo Aar :) sorry voor het quote ggebruik..
heb nu geen errors meer maar wel een blanke pagina nu...
das het grootste probleem..
heb al veel gegoogled etc voor een oplossing maar helaas geen success nog..
bvd Aar!
Als ik het goed zie gebruik je ereg_replace waar je het helemaal niet nodig hebt. Zo te zien zijn het allemaal simpele string vervangingen en dan kan je dat veel beter doen met [php]str_replace[/php]. Veel makkelijker en sneller.
0ok dat heb ik geprobeerd maar met zelfde resultaat namelijk een lege pagina...
volgens mij moet ik veel meer aanpassen op de een of andere manier Erwin.....
wat ik wel heb gevonden is dat een andere scriots bv dit gebruikt
Server State:<b> $state</b><br>
Bitrate: <b>$text[5]&nbsp;Kbps</b><br>
Now Playing: <b>$text[6] </b><br>
Listeners: <b>$text[0] of $text[3] ($text[4] Unique)</b><br> 
Listener Peak: <b> $text[2]</b><br> 


hij geeft dus de $text[6] (bv) aan en die werkt....
Het gaat niet om 'proberen'. str_replace is de functie die je nodig hebt, niet die regex functies, die zijn veel te zwaar voor wat je doet.

Klinkt alsof je nog niets bent begonnen met debuggen.... Het eerste wat je doet als je een lege pagina krijgt is zoeken op welke regel het probleem zit. Errorreporting aanzetten en als dat niet helpt (maw als je geen fouten krijgt), is desnoods regel voor regel echo's zetten zodat je weet tot waar je script nog komt en dus, dat je weet waar het vastloopt.
Wat een brei.

- ga goed inspringen
- zet PHP code bovenin en de OUTPUT onderin:


<?php 
    // hier heel je PHP logica shit ZONDER ook maar enige output
    
    $message = '';
    
    if(validate())
    {
        header('flauwekul.php');
        exit;
    }
?>
<!-- HIER PAS JE OUTPUT -->
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>

<body>
<!-- IN DE OUTPUT MAG JE WEL KLEINE STUKJES PHP GEBRUIKEN OM DE VARIABELEN TE ECHOËN -->
<p><?php echo $message; ?></p>
</body>
</html>


[size=xsmall]Toevoeging op 27/07/2014 12:09:04:[/size]

(javascript is ook output)
het is opgelost mijne heren... dank U

Reageren