Avatar billede kappel Nybegynder
12. februar 2004 - 14:43 Der er 59 kommentarer og
1 løsning

include ekstern side i css

Hejsa
jeg har følgende kode, men der kommer intet frem, nogle der hjælpe?

<?
ini_set('allow_url_fopen', 1);
$indholdArr = file('http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003');
$tabel = '';
for($i=147;$i<count($indholdArr);$i++)
{
  if(strpos($indholdArr[$i], 'Denne række administreres af'))
    break;
}
$endpos = $i - 7;
for($i=147;$i<=$endpos;$i++)
{
  $tabel .= $indholdArr[$i] . "\n";
}
echo $tabel;

?>

se evt. http://eif.kappels.net/index.php?menu=stilling

og kan det lade sig gøre vha:

//tjekker om $menu er sat
if ($menu != NULL){

//laver stien til filen der er defineret i $menu
$menu_file    = 'sider/'.$menu.'.php';

    //Tjekker om filen eksisterer
    if (file_exists($menu_file)) {
        include($menu_file);

    //Hvis filen ikke eksisterer inkluderes en fejlside:
    } else {
        include('sider/fejl.php');
    }
}

//Hvis $menu ikke er sat, inkluderes sider/1.php
else {
include('sider/start.php');
}

Mvh Mikkel
Avatar billede tefcke Nybegynder
12. februar 2004 - 15:14 #1
Fprstår ikke helt hvad dit script skal gøre, kunne du måske forklare hvad du vil frem til?
Avatar billede kappel Nybegynder
12. februar 2004 - 15:33 #2
på min side:  http://eif.kappels.net/index.php?menu=stilling vil jeg gerne have vist følgende side:
http://www.danskfodbold.dk/web_default.asp?Menu=resultater&Site=/sr/web_position.asp%3Fpoolid%3D6466%26saeson%3D2003
på min side sådan at jeg ikke selv skal opdatere det.
Se evt. http://www.eksperten.dk/spm/457766

Skriv hvis jeg skal uddybe mere
/kappel
Avatar billede tefcke Nybegynder
12. februar 2004 - 15:43 #3
Så det skal altså være hele den stillingstabel som skal indsættes som html på din side?
Avatar billede kappel Nybegynder
12. februar 2004 - 16:35 #4
ja. og hvis danskfodbold opdaterer skal det også gøres ved på min side
Avatar billede tefcke Nybegynder
12. februar 2004 - 16:43 #5
Laver lige et stykke kode du kan bruge så snart jeg kommer hjem!
Avatar billede kappel Nybegynder
12. februar 2004 - 17:32 #6
mange tak :-)
Avatar billede tefcke Nybegynder
13. februar 2004 - 00:30 #7
Her er koden til at fange tabellen ud, undskylder det blev så sent :o)

<?php
// Path to site
$uri = "http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003";
// Read entire site into a string
$html = file_get_contents($uri);
// Strip the newlines (\n) and (\r) Windows style!
$html = preg_replace("/[\n|\r]/", "", $html);
// Grep the string for the table
preg_match('/(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)(.*)(<\/table>)(.*?)(Denne række administreres af)/im', $html, $matches);
// Format the table into a string nicely
$matches = preg_replace("/(\t)+/", "\n", $matches[1].$matches[2].$matches[3]);
// print the table where ever you like it to be placed.
print $matches;
?>

Læg mærke til at du sikkert skal bruge deres stylesheet (eller evt. merge det med dit eget) for at få det til at se ud som deres tabel formatering.
Hvis du ikke kan finde ud af det, kan jeg lige udvide det, så den finder de relevante klasser i deres stylesheet, så de kan skrives direkte ind i dit egen stylesheet.
Eller også kan du selv finde dem, og statiske skrive dem ind, hvilket nok er det nemmeste :-)

Anyways, så husk lige på at der er vist nok er noget med det der copyright snask når man sådan "stjæler" kode fra andre sider ;o) men det må du selv ligge og rode med, jeg afstår mig alt ansvar fra det stykke kode du lige har fået, hvad det angår.

:-P
Avatar billede kappel Nybegynder
13. februar 2004 - 07:29 #8
fejl - se resultatet her: http://eif.kappels.net/index.php?menu=stilling

Ang. stylesheet, det vender jeg lige tilbage til når det virker :-)

/kappel
Avatar billede tefcke Nybegynder
13. februar 2004 - 12:42 #9
Hehe, det er som sådan ikke en fejl, det er fordi du kører med en ældre version af php end jeg gør, så funktionen file_get_contents() eksisterer ikke.

Du skal bare ændre følgende:
// Read entire site into a string
$html = file_get_contents($uri);
til
// Read entire site into a string
$html = implode("", file($uri));

Så skulle det virke
Avatar billede kappel Nybegynder
13. februar 2004 - 14:05 #10
ikke helt, se her: http://eif.kappels.net/index.php?menu=stilling

den ser således ud på nuværende tidspunkt:

<?php
// Path to site
$uri = "http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003";
// Read entire site into a string
$html = implode("", file($uri));
// Strip the newlines (\n) and (\r) Windows style!
$html = preg_replace("/[\n|\r]/", "", $html);
// Grep the string for the table
preg_match('/(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)(.*)(<\/table>)(.*?)(Denne række administreres af)/im', $html, $matches);
// Format the table into a string nicely
$matches = preg_replace("/(\t)+/", "\n", $matches[1].$matches[2].$matches[3]);
// print the table where ever you like it to be placed.
print $matches;
?>
Avatar billede tefcke Nybegynder
13. februar 2004 - 14:12 #11
Uden at vide noget om php opsætningen på serveren, så prøv først i toppen af det script jeg gav dig:

ini_set("allow_url_fopen", 1);

Hvis det ikke virker må vi ud i noget fopen().
Avatar billede kappel Nybegynder
13. februar 2004 - 14:18 #12
så sker der ingenting
Avatar billede tefcke Nybegynder
13. februar 2004 - 14:27 #13
Kan jeg få lov at se din phpinfo() fra serveren?
Avatar billede kappel Nybegynder
13. februar 2004 - 14:59 #14
Avatar billede tefcke Nybegynder
13. februar 2004 - 15:09 #15
Det undrer mig at det ikke virker med:
ini_set("allow_url_fopen", 1);

for serveren har ingen værdi af 'allow_url_fopen' i sin php.ini!

Du kan også prøve den funktion som der står på php.net:
<?php
if (!function_exists("file_get_contents")) {
  function file_get_contents($filename, $use_include_path = 0) {
  $data = FALSE;
  $file = fopen($filename, "rb", $use_include_path);
  if ($file) {
    while (!feof($file)) $data .= fread($file, 1024);
    fclose($file);
  }
  return $data;
  }
}
?>

Så skal du bare bruge det oprindelige script jeg gav dig, med file_get_contents().
Avatar billede kappel Nybegynder
13. februar 2004 - 15:14 #16
hvordan kommer det så til at se ud endeligt?
Avatar billede tefcke Nybegynder
13. februar 2004 - 15:16 #17
<?php
if (!function_exists("file_get_contents")) {
  function file_get_contents($filename, $use_include_path = 0) {
  $data = FALSE;
  $file = fopen($filename, "rb", $use_include_path);
  if ($file) {
    while (!feof($file)) $data .= fread($file, 1024);
    fclose($file);
  }
  return $data;
  }
}
?>
<?php
// Path to site
$uri = "http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003";
// Read entire site into a string
$html = file_get_contents($uri);
// Strip the newlines (\n) and (\r) Windows style!
$html = preg_replace("/[\n|\r]/", "", $html);
// Grep the string for the table
preg_match('/(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)(.*)(<\/table>)(.*?)(Denne række administreres af)/im', $html, $matches);
// Format the table into a string nicely
$matches = preg_replace("/(\t)+/", "\n", $matches[1].$matches[2].$matches[3]);
// print the table where ever you like it to be placed.
print $matches;
?>
Avatar billede tefcke Nybegynder
13. februar 2004 - 15:16 #18
Funktionen skal defineres før den kan bruges
Avatar billede tefcke Nybegynder
13. februar 2004 - 15:20 #19
Hmmm du burde nok lige tjekke din html kode også!

Bare på din forside http://eif.kappels.net/index.php fandt jeg 5 start <body> tags!!!
Avatar billede kappel Nybegynder
13. februar 2004 - 15:21 #20
jep :-)

den brokker sig over fopen(...
http://eif.kappels.net/index.php?menu=stilling
Avatar billede tefcke Nybegynder
13. februar 2004 - 15:39 #21
Har du også prøvet med ini_set i toppen?

<?php
ini_set('allow_url_fopen', 1);
if (!function_exists("file_get_contents")) {
  function file_get_contents($filename, $use_include_path = 0) {
  $data = FALSE;
  $file = fopen($filename, "rb", $use_include_path);
  if ($file) {
    while (!feof($file)) $data .= fread($file, 1024);
    fclose($file);
  }
  return $data;
  }
}
?>
<?php
// Path to site
$uri = "http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003";
// Read entire site into a string
$html = file_get_contents($uri);
// Strip the newlines (\n) and (\r) Windows style!
$html = preg_replace("/[\n|\r]/", "", $html);
// Grep the string for the table
preg_match('/(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)(.*)(<\/table>)(.*?)(Denne række administreres af)/im', $html, $matches);
// Format the table into a string nicely
$matches = preg_replace("/(\t)+/", "\n", $matches[1].$matches[2].$matches[3]);
// print the table where ever you like it to be placed.
print $matches;
?>
Avatar billede kappel Nybegynder
14. februar 2004 - 13:50 #22
Det virker ikke, hvordan kan det være?

/kappel
Avatar billede tefcke Nybegynder
14. februar 2004 - 13:59 #23
Alt hvad jeg har prævet har virket for mig, så det er enten php opsætningen, eller dit script det er noget galt med.

Har du prøvet kun at tage det stykke kode jeg gav dig, og smide det op i en fil for sig selv for og se om det virker?
Avatar billede kappel Nybegynder
14. februar 2004 - 14:15 #24
Nu har jeg lavet denne fil: test2.php på http://eif.kappels.net/sider/test2.php

her er indholdet af den:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
ini_set('allow_url_fopen', 1);
if (!function_exists("file_get_contents")) {
  function file_get_contents($filename, $use_include_path = 0) {
  $data = FALSE;
  $file = fopen($filename, "rb", $use_include_path);
  if ($file) {
    while (!feof($file)) $data .= fread($file, 1024);
    fclose($file);
  }
  return $data;
  }
}
?>
<?php
// Path to site
$uri = "http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003";
// Read entire site into a string
$html = file_get_contents($uri);
// Strip the newlines (\n) and (\r) Windows style!
$html = preg_replace("/[\n|\r]/", "", $html);
// Grep the string for the table
preg_match('/(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)(.*)(<\/table>)(.*?)(Denne række administreres af)/im', $html, $matches);
// Format the table into a string nicely
$matches = preg_replace("/(\t)+/", "\n", $matches[1].$matches[2].$matches[3]);
// print the table where ever you like it to be placed.
print $matches;
?>
</body>
</html>

Og det er jo det samme!

Har lige testet på min universitet hjemmeside og der virker det :-) http://www.plan.auc.dk/~mkje02/test2.php
Kan selvfølgelig ikke bruge det til noget, men nu ved vi da at det er "php opsætningen" som du skriver.

Hvad kan jeg gøre?
Avatar billede tefcke Nybegynder
14. februar 2004 - 14:27 #25
Jeg tror det er php opsætningen der gør, at du ikke kan få lov at afvikle det.

Jeg kan desværre ikke se hvorfor det ikke skulle virke!

Du kan evt. skrive en email til dem som har din hjemmeside liggende og forhøre dig om hvad der kunne bevirke at du ikke kan bruge funktionen file() på deres server!
Avatar billede kappel Nybegynder
14. februar 2004 - 14:40 #26
æv, men det prøver jeg
Avatar billede tefcke Nybegynder
14. februar 2004 - 14:59 #27
Jeg lægger lige et svar, for det virkde jo ;-)
Jeg forhører mig ligerundt omkring for at finde ud af hvad det kunne skyldes, for det det skal sgu virke med file()
Avatar billede kappel Nybegynder
14. februar 2004 - 15:14 #28
:-)
Hvis du åbner: http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003
som er den der bliver hentet, så står der ovenover tabellen :
Stilling  |  Detaljeret stilling  |  Kampprogram  |  Komplet kampprogram  |  Oversigt
Hvordan kan  det være det ikke kommer med på http://www.plan.auc.dk/~mkje02/test2.php

Det sidste spørgsmål, kan man gøre sådan at linket til 3. Ellidshøj IF 2 - kan åbnes på min side? og det samme med Stilling  |  Detaljeret stilling  osv.

/Mikkel
Avatar billede tefcke Nybegynder
14. februar 2004 - 15:26 #29
1. Spg: Det valgt jeg ikke at tage med.
2. Spg: Ja, sagtens! Skal ud og spille kamp nu, men kigger på det senere eller i morgen!
Avatar billede kappel Nybegynder
14. februar 2004 - 16:24 #30
Fint, jeg har lige været ud at løbe.
Har du lavet en hjemmeside om et fodboldhold eller noget der ligner?
Avatar billede tefcke Nybegynder
15. februar 2004 - 05:19 #31
Nææh, det har jeg aldrig, er der en grund til du spørger?
Avatar billede kappel Nybegynder
15. februar 2004 - 11:08 #32
Det kunne bare være dejligt, hvis man kunne dele lidt og tænkte jeg det kunne jo være at du havde lavet noget lignende, da du skrev "skal ud og spille kamp nu"

Men det vil bare være fedt hvis du vil hjælpe mig igennem:
1. Spg: Det valgt jeg ikke at tage med.
2. Spg: Ja, sagtens! Skal ud og spille kamp nu, men kigger på det senere eller i morgen!
Kan evt. ligge et nyt spørgsmål, hvis du synes det ligger udenfor mit oprindelige spørgsmål.

/kappel
Avatar billede tefcke Nybegynder
15. februar 2004 - 14:49 #33
Kigger lige på de 2 sidste spg. nu, vender tilbage når jeg har noget!
Avatar billede tefcke Nybegynder
15. februar 2004 - 15:09 #34
Hmmm, hvordan vil skal det være, med den tabel ,ed stilling, detaljeret stilling osv?
1. Skal den være som den står på http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003
2. Vil du bare have link adresse og link navnet i et array?
Avatar billede kappel Nybegynder
15. februar 2004 - 16:09 #35
1. Ja det ser godt ud.
2. Mit layout er fra et eksternt sylesheet, dvs. jeg kalder de enkelte sider vha af denne funktion, http://eif.kappels.net/index.php?menu="siden".php:

<?php
//tjekker om $menu er sat
if ($menu != NULL){

//laver stien til filen der er defineret i $menu
$menu_file    = 'sider/'.$menu.'.php';

    //Tjekker om filen eksisterer
    if (file_exists($menu_file)) {
        include($menu_file);

    //Hvis filen ikke eksisterer inkluderes en fejlside:
    } else {
        include('sider/fejl.php');
    }
}
//Hvis $menu ikke er sat, inkluderes sider/news.php
else {
include('news/news.php');
}
?>

Lidt svært at forklare, men hvis du forstår hvad jeg mener. Så skal de links som refererer til "stilling" osv. igennem index.php for at det samme layout.

/kappel
Avatar billede tefcke Nybegynder
15. februar 2004 - 16:33 #36
Du skal bare ændre "Path settings" variablene i toppen af scriptet (til dine egne lokale adresser), så bliver de automatisk indsat hvor de skal.

I bunden af scriptet har jeg lavet en lille oversigt, så du kan se hvad der er tilgængeligt når scriptet er afsluttet.

<?php
// Path Settings
$uri = "http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003";
$detaljeret_stilling = "STI_TIL_DETALJERE_STILLING";
$kampprogram = "STI_TIL_KAMPPROGRAM";
$komplet_kanpprogram = "STI_TIL_KOMPLET_KAMPPROGRAM";
$oversigt = "STI_TIL_OVERSIGT";
$hold = "STI_TIL_HOLD";




// Read entire site into a string
$html = file_get_contents($uri);

// Strip the newlines (\n) and (\r) Windows style!
$html = preg_replace("/[\n|\r]/", "", $html);

// Grep the string for the menu
preg_match('/(<!-- indhold -->)(.*)(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)/im', $html, $matches);

// Replace
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Detaljeret stilling<\/a>)/', "$1$2$detaljeret_stilling$4", $matches[2]);
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Kampprogram<\/a>)/',        "$1$2$kampprogram$4", $matches[2]);
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Komplet kampprogram<\/a>)/', "$1$2$komplet_kanpprogram$4", $matches[2]);
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Oversigt<\/a>)/',            "$1$2$oversigt$4", $matches[2]);

// Format the table into a string nicely
$menu = preg_replace("/(\t)+/", "\n", $matches[2]);




// Grep the string for the table
preg_match('/(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)(.*)(<\/table>)(.*?)(Denne række administreres af)/im', $html, $matches);
$score = $matches[1].$matches[2].$matches[3];
$score = preg_replace('/(.*)(CLASS="TABLECELL"><a href=")(.*?)(" class="BlackLink">Ellidshøj IF 2<\/a>)/', "$1$2$hold$4", $score);
// Format the table into a string nicely
$score = preg_replace("/(\t)+/", "\n", $score);




// Get teams and link
preg_match_all('/(CLASS="TABLECELL"><a href=")(.*?)(" class="BlackLink">)(.*?)(<\/a>)/im', $score, $matches);
for ($i=0; $i<count($matches[4]); $i++) {
    if ( $matches[4][$i] == 'Ellidshøj IF 2' )
        $matches[2][$i] = $hold;
    $teams[] = array('team' => $matches[4][$i], 'link' => $matches[2][$i]);
}




// The following variables are avalible:
/*
    $menu  : Contains entire top menu.
    $score : Contains entire scoreboard.
    $teams : Multidimensional array containing the tupple (team, link)
*/
?>
Avatar billede kappel Nybegynder
16. februar 2004 - 11:36 #37
Jeg skrev til b-one og de skrev:

  PHP info finder du her
  http://www.testdomainet.dk/info.php - disse indstillinger vil ikke blive lavet om.

  Vi har desværre ikke mulighed for at hjælpe dig med programmering/opsætning af din hjemmeside. Beklager.

Kan hjælpe/se hvad der kan være galt

Mvh Mikkel
Avatar billede kappel Nybegynder
16. februar 2004 - 22:45 #38
->tefcke

http://www.eksperten.dk/spm/466016
sandberg skriver at jeg skal bruge file() og at file_get_contents er til version PHP 4 >= 4.3.0)

Men hvis jeg bruger file() i $html = file($uri);

Melder den fejl:
Warning: file("http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003") - No such file or directory in /customers/kappels.net/kappels.net/httpd.www/eif/sider/test2.php on line 22

- No such file or directory?
jeg forstår det ikke, den skal jo ikke hente det lokalt men på nettet som den også skriver: http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003

Hvad kan det være?

/kappel
Avatar billede tefcke Nybegynder
16. februar 2004 - 22:52 #39
Jeg havde prøvet at lave det med file() (13/02-2004 12:42:10), da jeg så at den server du kørte fra ikke understøttede file_get_contents()
Avatar billede kappel Nybegynder
17. februar 2004 - 14:22 #40
Det kan jeg godt huske.

Men hvorfor melder den nu fejl: - No such file or directory?
Jeg bruger:

// Read entire site into a string
$html = implode("", file($uri));

/kappel
Avatar billede kappel Nybegynder
17. februar 2004 - 14:24 #41
hvis jeg bruger:

// Read entire site into a string
$html = file($uri);

skriver den:
Warning: file("http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003") - No such file or directory in /customers/kappels.net/kappels.net/httpd.www/eif/sider/test2.php on line 20

Men hvis jeg bruger:
// Read entire site into a string
$html = implode("", file($uri));
skriver den:
Warning: file("http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003") - No such file or directory in /customers/kappels.net/kappels.net/httpd.www/eif/sider/test2.php on line 24

Warning: Bad arguments to implode() in /customers/kappels.net/kappels.net/httpd.www/eif/sider/test2.php on line 24

Hvis det kunne hjælpe :-)
Avatar billede tefcke Nybegynder
17. februar 2004 - 15:15 #42
Det er det som jeg ikke fatter, for http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003 side eksisterer, og vi har slået fopen_wrappers til manuelt (ini_set('allow_url_fopen', 1)), så den kan godt bruge file() på eksterne filer.
Så det er pænt sært!
Avatar billede kappel Nybegynder
17. februar 2004 - 15:23 #43
forstår det heller ikke, når jeg tilføjer ini_set("allow_url_fopen", 1);

Melder den ikke om fejl, men der vises heller ikke noget, sært :-(
Avatar billede kappel Nybegynder
18. februar 2004 - 08:29 #44
Jeg er lige lidt i tvivl, det du skriver:

// The following variables are avalible:
/*
    $menu  : Contains entire top menu.
    $score : Contains entire scoreboard.
    $teams : Multidimensional array containing the tupple (team, link)
*/
?>

Skal jeg definere hvad der skal vises eller skulle der blive vist noget?

siden: http://eif.kappels.net/index.php?menu=test2 er nemlig tom her har jeg brugt:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
// Path Settings
ini_set("allow_url_fopen", 1);
$uri = "http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003";
$detaljeret_stilling = "http://www.danskfodbold.dk/web_default.asp?Menu=resultater&Site=/sr/web_position_detail.asp%3Fpoolid%3D6466%26saeson%3D2003";
$kampprogram = "STI_TIL_KAMPPROGRAM";
$komplet_kanpprogram = "STI_TIL_KOMPLET_KAMPPROGRAM";
$oversigt = "STI_TIL_OVERSIGT";
$hold = "STI_TIL_HOLD";


// Read entire site into a string
$html = file($uri);


// Read entire site into a string
//$html = implode("", file($uri));

// Strip the newlines (\n) and (\r) Windows style!
$html = preg_replace("/[\n|\r]/", "", $html);

// Grep the string for the menu
preg_match('/(<!-- indhold -->)(.*)(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)/im', $html, $matches);

// Replace
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Detaljeret stilling<\/a>)/', "$1$2$detaljeret_stilling$4", $matches[2]);
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Kampprogram<\/a>)/',        "$1$2$kampprogram$4", $matches[2]);
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Komplet kampprogram<\/a>)/', "$1$2$komplet_kanpprogram$4", $matches[2]);
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Oversigt<\/a>)/',            "$1$2$oversigt$4", $matches[2]);

// Format the table into a string nicely
$menu = preg_replace("/(\t)+/", "\n", $matches[2]);




// Grep the string for the table
preg_match('/(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)(.*)(<\/table>)(.*?)(Denne række administreres af)/im', $html, $matches);
$score = $matches[1].$matches[2].$matches[3];
$score = preg_replace('/(.*)(CLASS="TABLECELL"><a href=")(.*?)(" class="BlackLink">Ellidshøj IF 2<\/a>)/', "$1$2$hold$4", $score);
// Format the table into a string nicely
$score = preg_replace("/(\t)+/", "\n", $score);




// Get teams and link
preg_match_all('/(CLASS="TABLECELL"><a href=")(.*?)(" class="BlackLink">)(.*?)(<\/a>)/im', $score, $matches);
for ($i=0; $i<count($matches[4]); $i++) {
    if ( $matches[4][$i] == 'Ellidshøj IF 2' )
        $matches[2][$i] = $hold;
    $teams[] = array('team' => $matches[4][$i], 'link' => $matches[2][$i]);
}




// The following variables are avalible:
/*
    $menu  : Contains entire top menu.
    $score : Contains entire scoreboard.
    $teams : Multidimensional array containing the tupple (team, link)
*/
?>


</body>
</html>

Er der noget jeg ellers kan gøre, jeg skal bare have det til at virke!!

/kappel
Avatar billede tefcke Nybegynder
18. februar 2004 - 08:53 #45
Hehe, så er det klart der ikke bliver vist noget, for det jeg mener med "The following variables are avalible", er at når scriptet er nået der til hvor det står, så har du de 3 variabler at lege med. Du kan altså printe dem ud, hvor du nu engang selv vil have de 2 tabeller placeret.
Lavede det på den måde, så du ikke var bundet til at indsætte scriptet lige der hvor tabllerne skulle være.

Du udskriver altså bare $menu der hvor den der topmenu skal være placeret, og $score, der hvor ligatabellen skal være!
Avatar billede kappel Nybegynder
18. februar 2004 - 09:09 #46
he.
hvis du har et forslag er det meget velkomment :-)

hvis jeg bruger en tabel, melder den fejl:
Parse error: parse error, unexpected '<' in /customers/kappels.net/kappels.net/httpd.www/eif/sider/test2.php on line 63

Der bliver f.eks. slet ikke skrevet noget ud ved:
<table width="200">
  <tr>
    <td><?php print $menu;?></td>
  </tr>
  <tr>
    <td><?php print $score;?></td>
  </tr>
  <tr>
    <td><?php print $teams;?></td>
  </tr>
</table>

/kappel
Avatar billede kappel Nybegynder
18. februar 2004 - 09:10 #47
eller er jeg helt galt på den igen, hehe
Avatar billede tefcke Nybegynder
18. februar 2004 - 15:37 #48
Du kan ikke bare udskrive $teams, det er et array!
Men de to andre variable er bare tekststrenge, så de kan sagtens udskrives.

Ang. den fejl du har nu, er du sikker på at linje 63 er en af de linier du viste i forrige post? For det ser ud til at være helt korrekt, med den undtagelse at du ikke kan printe $teams.
Avatar billede kappel Nybegynder
18. februar 2004 - 22:44 #49
Ok, nu bruger jeg dette:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
// Path Settings
ini_set("allow_url_fopen", 1);
$uri = "http://www.danskfodbold.dk/sr/web_position.asp?poolid=6466&saeson=2003";
$detaljeret_stilling = "http://www.danskfodbold.dk/web_default.asp?Menu=resultater&Site=/sr/web_position_detail.asp%3Fpoolid%3D6466%26saeson%3D2003";
$kampprogram = "STI_TIL_KAMPPROGRAM";
$komplet_kanpprogram = "STI_TIL_KOMPLET_KAMPPROGRAM";
$oversigt = "STI_TIL_OVERSIGT";
$hold = "STI_TIL_HOLD";


// Read entire site into a string
$html = file($uri);


// Read entire site into a string
//$html = implode("", file($uri));

// Strip the newlines (\n) and (\r) Windows style!
$html = preg_replace("/[\n|\r]/", "", $html);

// Grep the string for the menu
preg_match('/(<!-- indhold -->)(.*)(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)/im', $html, $matches);

// Replace
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Detaljeret stilling<\/a>)/', "$1$2$detaljeret_stilling$4", $matches[2]);
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Kampprogram<\/a>)/',        "$1$2$kampprogram$4", $matches[2]);
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Komplet kampprogram<\/a>)/', "$1$2$komplet_kanpprogram$4", $matches[2]);
$matches[2] = preg_replace('/(.*)(<a href=")(.*?)(" class="BlackLink">Oversigt<\/a>)/',            "$1$2$oversigt$4", $matches[2]);

// Format the table into a string nicely
$menu = preg_replace("/(\t)+/", "\n", $matches[2]);




// Grep the string for the table
preg_match('/(<table border="0" cellpadding="0" cellspacing="0" width="600" class=TABLECELLNOCURSOR ID="Table5">)(.*)(<\/table>)(.*?)(Denne række administreres af)/im', $html, $matches);
$score = $matches[1].$matches[2].$matches[3];
$score = preg_replace('/(.*)(CLASS="TABLECELL"><a href=")(.*?)(" class="BlackLink">Ellidshøj IF 2<\/a>)/', "$1$2$hold$4", $score);
// Format the table into a string nicely
$score = preg_replace("/(\t)+/", "\n", $score);




// Get teams and link
preg_match_all('/(CLASS="TABLECELL"><a href=")(.*?)(" class="BlackLink">)(.*?)(<\/a>)/im', $score, $matches);
for ($i=0; $i<count($matches[4]); $i++) {
    if ( $matches[4][$i] == 'Ellidshøj IF 2' )
        $matches[2][$i] = $hold;
    $teams[] = array('team' => $matches[4][$i], 'link' => $matches[2][$i]);
}




// The following variables are avalible:
/*
    $menu  : Contains entire top menu.
    $score : Contains entire scoreboard.
    $teams : Multidimensional array containing the tupple (team, link)
*/
?>

<table width="200">
  <tr>
    <td><?php print $menu;?></td>
  </tr>
  <tr>
    <td><?php print $score;?></td>
  </tr>
  <tr>
    <td>--- $teams ---</td>
  </tr>
</table>
</body>
</html>

Resultatet ses her: http://eif.kappels.net/index.php?menu=test2
En tom side.

Kan man teste hvor langt den kommer og dermed se hvor den går galt?

Hvad med: $detaljeret_stilling er det forstået rigtigt at der skal stå:
http://www.danskfodbold.dk/web_default.asp?Menu=resultater&Site=/sr/web_position_detail.asp%3Fpoolid%3D6466%26saeson%3D2003";

/kappel og tak for tålmodigheden
Avatar billede tefcke Nybegynder
18. februar 2004 - 23:31 #50
Ja, lige under ini_set('allow_url_fopen', 1) skriver du:

ini_set('error_reporting', E_ALL);
Avatar billede kappel Nybegynder
19. februar 2004 - 07:57 #51
ini_set('error_reporting', E_ALL); ændrer ikke noget hverken på b-one eller uni.

Men på universitetet: http://www.plan.auc.dk/~mkje02/test2.php
skriver den fejlene:

Notice: Array to string conversion in /stud/mkje02/public_html/test2.php on line 32
Notice: Undefined offset: 2 in /stud/mkje02/public_html/test2.php on line 35
Notice: Array to string conversion in /stud/mkje02/public_html/test2.php on line 47
Notice: Undefined offset: 1 in /stud/mkje02/public_html/test2.php on line 48
Notice: Undefined offset: 2 in /stud/mkje02/public_html/test2.php on line 48
Notice: Undefined offset: 3 in /stud/mkje02/public_html/test2.php on line 48
--- $teams ---

/kappel
Avatar billede tefcke Nybegynder
19. februar 2004 - 10:01 #52
For det første kan du ikke bruge flg. linie:
$html = file($uri);

det skal være:
$html = implode("", file($uri));

Alle de andre fejl er ikke seperate fejl, men følgefejl af at du bruger $html = file($uri) i stedet for $html = implode("", file($uri)) !
Avatar billede kappel Nybegynder
19. februar 2004 - 10:36 #53
nu virker det på: http://www.plan.auc.dk/~mkje02/test2.php

Men ikke som det skal på b-ones server: http://eif.kappels.net/index.php?menu=test2

OG de er helt ens!
Avatar billede tefcke Nybegynder
19. februar 2004 - 10:51 #54
Ja, det er mystisk, jeg aner ærlig talt ikke hvad der mere kan være galt (ikke med scriptet, men med B-ones opsætning), men det er vel en grund til det er så billigt hos B-one ;)
Avatar billede kappel Nybegynder
19. februar 2004 - 12:29 #55
Ok, det med b-one må jeg finde ud af på anden vis!

Det eneste jeg gerne vil vide lidt mere om er:
1. Hvilke muligheder har jeg med $teams?
2. $hold, hvilket hold er det - det ser ud til det kun repræsentere Ellidshøj IF 2?

På: http://www.testdomainet.dk/info.php under: Configuration og PHP Core står der:
allow_url_fopen
no value no value

Har det noget at sige?
Avatar billede tefcke Nybegynder
19. februar 2004 - 14:07 #56
Svar på 1)
  Skriv:
    echo "<pre>";
    var_dump($teams);
    echo "</pre>";

  Så vil du se at det er et array som indenholder alle holdene og en reference til holdet.

Svar på 2)
  $hold skal være linnket (url) til den side som skal åbnes når man trykker på "Ellidshøj IF 2" i tabellen.
  For som du skrev "Det sidste spørgsmål, kan man gøre sådan at linket til 3. Ellidshøj IF 2 - kan åbnes på min side?"
 
  Men mente du at det skal være den samme reference, men bare mad dine tabeller uden om?
Avatar billede tefcke Nybegynder
19. februar 2004 - 14:09 #57
Ang. allow_url_fopen, hvor der står 'no value', så er det fordi der i B-ones php.ini ikke er sat nogen værdi. Så det er ikke rigtig defineret om det er tilladt eller ej. I det vi så sætter: ini_set('allow_url_fopen', 1) så siger vi at fra nu af og til scriptet er slut, så skal det gælde at allow_url_fopen er slået til!
Avatar billede kappel Nybegynder
19. februar 2004 - 21:53 #58
Nu jeg vil ikke trække mere på dig, du har været en god hjælp, desværre virker det ikke på b-ones server, jeg må se om der ikke er andre der kan hjælpe. Vil du ikke også sige at vi kan konkludere at det er file() der er noget galt med?

Jeg har lige et par opklarende spørgsmål:
1. Hvis jeg vil have mulighed for se de andre hold ligesom Ellidshøj IF, så skal der tilføjes f.eks. $hold1, $hold2 osv.?
2. $teams, hvad kan jeg gøre med:
array(12) {
  [0]=>
  array(2) {
    ["team"]=>
    string(15) "Astrup IF Arden"
    ["link"]=>
    string(60) "web_matchprogramTeam.asp?teamid=2538&poolid=6466&saeson=2003"
  }
osv.
3. tilbage til stylesheet, er det muligt at få deres design?

/kappel
Avatar billede tefcke Nybegynder
20. februar 2004 - 00:33 #59
Jeg er da glad for at kunne hjælpe :)

Og joh, jeg vil give dig delvis ret i at det er file() den er gal med, men det er file() på B-ones server opsætning den er gal med!

$teams arrayet lavede jeg bare for at du skulle have mulighed for at placerer et vilkårligt af ligans hold på din egen side som et link.
Feks. vil følgende løkke udskrive alle holdene som links:

foreach ($teams as $team) {
    echo "<<p>a href=\"{$team['link']}\">{$team['name']}</a></p>";
}

Det er ikke noget du behøver at bruge, det var en gratis feature fra min side ;-)

Ang. det med de style-sheets, så syntes jeg det nemmeste ville være at kopierer de style-klasser de bruger ind i dit eget style-sheet manuelt (copy-paste). Det er helt kalrt det nemmeste.
Alternativet er at lave nogen regulære udtryk der finder hvilken klasser der bruges i det vi allerede har hevet ud, gå ind i deres style-sheet fil, hive dataen til klasserne ud, åbne din egen style-sheet fil, og indsætte klasserne. Meget kompliceret for så lidt, efter min mening.

Så bare copy-paste de relevante style-klasser ind i dit eget style-sheet.
Avatar billede kappel Nybegynder
21. februar 2004 - 19:31 #60
tak for den "gratis feature"

Nu må jeg se om jeg kan få den til at virke, men først når jeg finder ud af hvorfor den er gal med file() - er der egenglig andre muligheder end file()?

-  "Så bare copy-paste de relevante style-klasser ind i dit eget style-sheet."
Hvordan finder jeg dem og hvordan sætter jeg dem ind?

/kappel
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester