webForumDet fria alternativet

Enkelt fel? Eregi

6 svar · 175 visningar · startad av U2K

U2KMedlem sedan jan. 2000224 inlägg
#1

Är nästan säker på att det är något enkelt som är fel i denna koden..

<?
	function getTime()
	{
		$file = fopen("http://komfram.trafikkontoret.goteborg.se/cgi-bin/vgg?2370FB:se:color:::", "r");
		if (!$file) 
		{
		  echo "<p>Kan inte upprätta förbindelse med skiten.\n"; 
		  exit;
		}

		$ret ="";
		while (!feof($file)) 
		{
		  $line = fgets($file, 1024);
		  if (eregi("  <TD><IMG SRC=\"/icons/sparvagn.blue.gif\" ALT=\"S\" BORDER=NONE></TD><TD BGCOLOR=\"black\"  HEIGHT=\"40\"><FONT SIZE=\"+2\" COLOR=\"white\"><B>(.*)</B></FONT></TD> <TD BGCOLOR=\"black\"  HEIGHT=\"40\"><FONT SIZE=\"+2\" COLOR=\"white\"><B>(.*)</B></FONT></TD>  <TD> <FONT SIZE=\"+1\">(.*)</FONT> </TD>  <TD><FONT SIZE=\"+1\">(.*)</FONT></TD> ", $line, $out)) {
		    $ret .= "Linje: $out[0] Destination: $out[1] Tid1: $out[2] Tid2: $out[3]";
		  }
		}

		fclose($file);
		
		return $ret;
	}
?>

Någon som vet? Det händer inget.. Alltså if satsen är fel!!! Men jag vet inte riktigt

Patrik81Medlem sedan okt. 2001538 inlägg
#2

Jag har läst igenom hela php.net manualen på eregi för att se, men jag lyckas inte hitta något ställe som säger att man kan skicka med den en extra variabel som den skall lagra värden i (i detta fallet $out) Är du säker på att den funktionen verkligen klarar av att göra det du vill att den skall göra?

Är inte någon direkt fena på det där med eregi å regexps å allt det där joxxet, även om jag skulle vilja lära mig, men har som sagt inte kommit så långt än, men eregi är väl mer för att kolla igenom en sträng efter förekomsten av ett mönster? Eller kan den också dra ut värden därifrån?

MVH Patrik

dectgapMedlem sedan sep. 20021 655 inlägg
#3

För tillfället lämnas följande felmeddelande:
"Vår databas kan just nu inte nås. V.g. försök igen senare. "

Men du har tänkt lite fel när du ska skriva ut ifrån $out.
$out[0] kommer att innehålla hela strängen, och $out[1] kommer att innehålla den första matchade parentesen.

MungoMedlem sedan jan. 2000372 inlägg
#4

Och dessutom kan du inte använda t.ex. $out[0] mitt inne i en sträng sådär, testa med {$out[0]} istället så funkar det nog bättre.

dectgapMedlem sedan sep. 20021 655 inlägg
#5
<?
    function getTime()
    {
        $file = fopen("http://komfram.trafikkontoret.goteborg.se/cgi-bin/vgg?2370FB:se:color:::", "r");
        if (!$file) 
        {
          echo "<p>Kan inte upprätta förbindelse med skiten.\n"; 
          exit;
        }

        $ret ="<table>\n";
        while (!feof($file)) 
        {
          $line = fgets($file, 4096);
          if (preg_match("/<TD><IMG SRC=\"\/icons\/sparvagn.blue.gif\" ALT=\"S\" BORDER=NONE><\/TD><TD BGCOLOR=\"black\"  HEIGHT=\"40\"><FONT SIZE=\"\+2\" COLOR=\"white\"><B>(.*)<\/B><\/FONT><\/TD> <TD BGCOLOR=\"black\"  HEIGHT=\"40\"><FONT SIZE=\"\+2\" COLOR=\"white\"><B>(.*)<\/B><\/FONT><\/TD>  <TD> <FONT SIZE=\"\+1\">(.*)<\/FONT> <\/TD>  <TD><FONT SIZE=\"\+1\">(.*)<\/FONT><\/TD>/i", $line, $out)) {
            $ret .= "<tr>\n  <td>Linje: $out[1]</td>\n  <td>Destination: $out[2]</td>\n  <td>Tid1: $out[3]</td>\n  <td>Tid2: $out[4]</td>\n</tr>\n";
          }
        }

        fclose($file);
        
        $ret .="</table>";
        return $ret;
    }
    
    echo getTime();
?>
U2KMedlem sedan jan. 2000224 inlägg
#6

Ok..

Jo, det verkar som om det ska fungera nu.. har inte testat ännu men tack ändå..

PS $out kan ligga i eregi funktionen eftersom koden är från DN skriptet som finns på WF också.. Det är väl Arrayen där alla (.*) lagras. DS

Ska kolla upp det och återkommer om det strular igen.. Tack ändå

U2KMedlem sedan jan. 2000224 inlägg
#7

Det blir fel.. men jag fattar inte.. 'c' ?!

Warning: Unknown modifier 'c' on line 15

Hmm.. detta verkar skumt.. Någon med ett svar?

138 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)