Har provat och provat :) men jag går bet på detta.. du kan ju börja med att ändra </TR></TD> till </TD></TR>
Har det inget med att göra att texten mellan ligger på nästa rad eller nåt sådant?
8 svar · 265 visningar · startad av jboy_87
får inte ut det som är markerad nån som vet?!
<?
function getvader()
{
@$file = fopen("http://zodiaken.net/cgi-bin/dagens.pl?id=".$_GET['id']."", "r", "l");
if (!$file)
{
echo "Kunde inte upprätta förbindelsen med webbplatsen.\n Var god försök igen senare!";
exit;}
while (!feof($file))
{
$line = trim(fgets($file, 1024));
global $kopiera1;
if (eregi("<H4>(.*)</H4></FORM>",$line,$out))
$kopiera1 = "<font color='#868686'>$out[1]</font><br>";
global $kopiera2;
[b]
if (eregi("<TABLE WIDTH=80%><TR><TD>(.*)</TR></TD>",$line,$out))
$kopiera2 = $out[1];
}
[/b]
fclose($file);
return $kopiera1;
return $kopiera2;
}
getvader();
echo $kopiera1;
echo $kopiera2;?>
Har provat och provat :) men jag går bet på detta.. du kan ju börja med att ändra </TR></TD> till </TD></TR>
Har det inget med att göra att texten mellan ligger på nästa rad eller nåt sådant?
. i reguljära uttryck innehåller alla tecken utom ny rad så om cellen innehåller en ny rad så måste du använda
(.|\n)* istället.
någon som vet blir galen snart!
Du kan troligtvis inte göra jämförelsen på en rad i taget, utan du får läsa in hela filen först:
$line = '';
while (!feof($file)) {
$line .= trim(fgets($file, 1024));
}
global $kopiera1;
if (eregi("<H4>(.*)</H4></FORM>",$line,$out)) {
$kopiera1 = "<font color='#868686'>$out[1]</font><br>";
}
if (preg_match("/<TABLE WIDTH=80%><TR><TD>(.*?)<\/TD><\/TR>/is",$line,$out)) {
$kopiera2 = $out[1];
}
det funkade inte för mig när körde trim med $line innan!
men ska testa igen! tackar
Det var inte trim jag syftade på utan att läsa in hela filen innan du börjar leta i den. Vad det gäller trim kan du lika gärna (eller hellre) göra så här:
while (!feof($file)) {
$line .= fgets($file, 1024);
}
okdoki det funkar tack ska du ha!