Frag halt mal ob sie dir die Informationen auch noch anderweitig ausgeben können. XML oder so?
Hi,
wenn du es über PHP machen möchtet. Brauchst du sockets aber gibt hier mit bplaced pro oder auf square7 …
Hier ein (fast) fertiges Script:
[code]<?php
// URL, die durchsucht werden soll
$url = “http://bs-gelnhausen.de/Vertretungsplan/V_C_117_1.html”;
// Zeichenfolge vor relevanten Einträgen
$startstring = “
// bis zum nächsten html tag bzw. Zeichenfolge nach relevanten Einträgen
$endstring = “
$file = fopen($url,“r”);
$i=0;
while (!feof($file)) {
// Wenn das File entsprechend groß ist, kann es unter Umständen
// notwendig sein, die Zahl 2000 entsprechend zu erhöhen. Im Falle
// eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.
$zeile[$i] .= fgets($file,2000000);
$i++;
}
fclose($file);
// Nun werden die Daten entsprechend gefiltert.
for ($j=0;$j<$i;$j++) {
if ($resa = strstr($zeile[$j],$startstring)) {
$resb = str_replace($startstring, “”, $resa);
$endstueck = strstr($resb, $endstring);
$resultat .= str_replace($endstueck,"",$resb);
$resultat .= " : “;
}
}
$ergebnis = explode(” ; “, $resultat);
foreach($ergebnis as $name => $wert) {
echo $name .”: “. $wert .”
";
}
[/code]
Dann brauchst nur noch ablesen lesen welche zellen du brauchst werden ja durch das foreach ausgegeben (die zahlen dafor merken) und dann kannst es foreach löschen und wie ganz normale php variablen verwenden
lg flo
//ediit: hier ein link zum script grojer.square7.ch/bforumantwort.php
//edit2: mist wird ja zeile für zeile ausgelesen
Hi,
hab verbesserungen am Code von mir oben gepostet vorgenommen und klappt es glaub ich mal so wie du es wolltest. Jetz kannst du die Infos wo du benötigst einfach per $ergebnis[NUMMER] ausgeben lassen.
Hier ein Bsp. da stehen auch die nummern die du statt NUMMER einsetzen musst.
grojer.square7.ch/bforumantwort.php
lg flo
[code]<?php
// URL, die durchsucht werden soll
$url = “http://bs-gelnhausen.de/Vertretungsplan/V_C_117_1.html”;
// Zeichenfolge vor relevanten Einträgen
$startstring = “<td align=“left””;
// bis zum nächsten html tag bzw. Zeichenfolge nach relevanten Einträgen
$endstring = “”;
$file = fopen($url,“r”);
$i=0;
while (!feof($file)) {
// Wenn das File entsprechend groß ist, kann es unter Umständen
// notwendig sein, die Zahl 2000 entsprechend zu erhöhen. Im Falle
// eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.
$zeile[$i] .= fgets($file,2000000);
$i++;
}
fclose($file);
// Nun werden die Daten entsprechend gefiltert.
$del1 = “bgcolor=”#CCCCFF" >";
$del2 = “bgcolor=”#9999FF" >";
for ($j=0;$j<$i;$j++) {
if ($resa = strstr($zeile[$j],$startstring)) {
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$resb = str_replace($startstring, “”, $resa);
$endstueck = strstr($resb, $endstring);
$hilfsvariable = str_replace($endstueck,"",$resb);
$hilfsvariable = str_replace($del1,"", $hilfsvariable);
$hilfsvariable = str_replace($del2,"", $hilfsvariable);
$resultat .= $hilfsvariable;
$resultat .= " ; “;
}
}
$ergebnis = explode(” ; “, $resultat);
foreach($ergebnis as $name => $wert) {
echo $name .”: “. $wert .”
";
}
?>[/code]
ich bedanke mich
hier das resultat:
xetu-hosting.de/Vertretungsplan_ … n/bg12.php
jetzt bin ich dabei mein Menü in Android zu basteln mal schauen wie das hinhaut
Hi,
bitte kein Problem
Hab dein Problem einfach als weiterbildung für mich genutzt
Hab davor mit externen seiten noch nie so wirklich was zu tun gehabt
lg flo
hallo,
habe noch ein Problem
hier mal meine Page derzeit:
so nun habe ich das Problem das Merkmal bei Raumänderungen leer bleibt und bei Arbeitsaufträgen also muss ich wenn Merkmal leer bleibt den Wert einer anderen Spalte laden
derzeit lasse ich den Wert für Mermal so ausgeben:
echo '<td align="left" bgcolor="#CCCCFF">'. $ergebnis[$g] ."</td>";
$g = $g +24;
wobei $g immer hochgezählt wird in der Schleife mit +24
wie kann ich jetzt Prüfen ob $ergebnis[$g]
leer ist ? weil anscheind wenns leer ist ein Leerzeichen drinne ist
gruß
danke für die Hilfe
hoi so
if(empty($ergebnis[g])) {
// Variable leer oder null
} else {
//varialbe mit irgend einem inhalt
}
p.s. wird nicht klappen da da lgaub immer mit drin steht
&nsbp;
sonst musst du halt prüfen ob nur ein leer zeichen drin ist prüfen so in der art:
if($ergebnis[g] == ' ') {
//nur ein leerzeichen
} else {
// i-was anderes als leerzeichen
}
oder
if($ergebnis[g] != ' ') {
//i-was nur kein leerzeichen
}
lg flo
hinter jeden Frei scheint auch ein Leerzeichen zu stehen
also es klappt gar nix lässt die zeile einfach weiterhin leer … total kacke …
HI… ja das macht nichts es würd überprüft ob einzig und allein ein leerzeichen vorkommt …
wenn du das auch überprüfen willst ob bei frei und leerzeichen vorkommt dann machst halt
if($variable == ‘Frei&nsbp;’) {
// Frei + leerzeichen
}
//edit: schreib doch mal bitte echo “”. $ergebnis[g] ."";
einfach nur damit man die zeile eindeutig indentivizieren kann und dann schickst du mir bitte den code ausschnitt dann pass ich die if anfrage an
hier mal mein gesamter Code klappt alles noch net so wie ich mir das vorstelle
die IF abfrage klappt immer noch nicht
[code]<?php
// URL, die durchsucht werden soll
$url = “http://bs-gelnhausen.de/Vertretungsplan/V_C_117_1.html”;
// Zeichenfolge vor relevanten Einträgen
$startstring = “<td align=“left””;
// bis zum nächsten html tag bzw. Zeichenfolge nach relevanten Einträgen
$endstring = “”;
$file = fopen($url,“r”);
$i=0;
while (!feof($file)) {
// Wenn das File entsprechend groß ist, kann es unter Umständen
// notwendig sein, die Zahl 2000 entsprechend zu erhöhen. Im Falle
// eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.
$zeile[$i] .= fgets($file,2000000);
$i++;
}
fclose($file);
// Nun werden die Daten entsprechend gefiltert.
$del1 = “bgcolor=”#CCCCFF" >";
$del2 = “bgcolor=”#9999FF" >";
for ($j=0;$j<$i;$j++) {
if ($resa = strstr($zeile[$j],$startstring)) {
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$resb = str_replace($startstring, “”, $resa);
$endstueck = strstr($resb, $endstring);
$hilfsvariable = str_replace($endstueck,"",$resb);
$hilfsvariable = str_replace($del1,"", $hilfsvariable);
$hilfsvariable = str_replace($del2,"", $hilfsvariable);
$resultat .= $hilfsvariable;
$resultat .= " ; “;
}
}
$ergebnis = explode(” ; ", $resultat);
foreach($ergebnis as $name => $wert) {
$name ;
}
$table_erstellen = $name - 11 / 12;
$table_erstellen = $table_erstellen / 12 /2;
$table_erstellen = floor ($table_erstellen);
echo '
<!doctype HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
Achten Sie bitte auch auf die Vertretungsmonitore und Aushänge in der Schule!
'; echo ''. $ergebnis[0] ." | "; echo ''. $ergebnis[1] ." | "; echo ''. $ergebnis[2] ." | "; echo ''. $ergebnis[3] ." | "; echo ''. $ergebnis[4] ." | "; echo ''. $ergebnis[9] ." | "; echo ''. $ergebnis[10] ." | "; echo "|
’. $ergebnis[$a] ." | ";’. $ergebnis[$b] ." | ";’. $ergebnis[$c] . “/” . $ergebnis[$h] . “ | ”;’. $ergebnis[$d] ." | ";’. $ergebnis[$e] ." | ";’. $ergebnis[$f] ." | ";’. $ergebnis[$g] ." | ";Merkmal | ’;
echo ’
';
?>[/code]
danke schonmal
gruß
So sollte es gehn:
hallo,
also bei mir geht das immer noch nicht
siehe meine ausgelesene Seite:
und die original Seite steht überall Frei aber trotzdem wird überall Merkmal angezeigt
hi füg mal des einfach genau so ein und poste dann mal den quelltext
[code]<?php
// URL, die durchsucht werden soll
$url = “http://bs-gelnhausen.de/Vertretungsplan/V_C_117_1.html”;
// Zeichenfolge vor relevanten Einträgen
$startstring = “<td align=“left””;
// bis zum nächsten html tag bzw. Zeichenfolge nach relevanten Einträgen
$endstring = “”;
$file = fopen($url,“r”);
$i=0;
while (!feof($file)) {
// Wenn das File entsprechend groß ist, kann es unter Umständen
// notwendig sein, die Zahl 2000 entsprechend zu erhöhen. Im Falle
// eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.
$zeile[$i] .= fgets($file,2000000);
$i++;
}
fclose($file);
// Nun werden die Daten entsprechend gefiltert.
$del1 = “bgcolor=”#CCCCFF" >";
$del2 = “bgcolor=”#9999FF" >";
for ($j=0;$j<$i;$j++) {
if ($resa = strstr($zeile[$j],$startstring)) {
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$j++;
$resa .= $zeile[$j];
$resb = str_replace($startstring, “”, $resa);
$endstueck = strstr($resb, $endstring);
$hilfsvariable = str_replace($endstueck,"",$resb);
$hilfsvariable = str_replace($del1,"", $hilfsvariable);
$hilfsvariable = str_replace($del2,"", $hilfsvariable);
$resultat .= $hilfsvariable;
$resultat .= " ; “;
}
}
$ergebnis = explode(” ; ", $resultat);
foreach($ergebnis as $name => $wert) {
$name ;
}
$table_erstellen = $name - 11 / 12;
$table_erstellen = $table_erstellen / 12 /2;
$table_erstellen = floor ($table_erstellen);
echo '
<!doctype HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
Achten Sie bitte auch auf die Vertretungsmonitore und Aushänge in der Schule!
'; echo ''. $ergebnis[0] ." | "; echo ''. $ergebnis[1] ." | "; echo ''. $ergebnis[2] ." | "; echo ''. $ergebnis[3] ." | "; echo ''. $ergebnis[4] ." | "; echo ''. $ergebnis[9] ." | "; echo ''. $ergebnis[10] ." | "; echo "|
’. $ergebnis[$a] ." | ";’. $ergebnis[$b] ." | ";’. $ergebnis[$c] . “/” . $ergebnis[$h] . “ | ”;’. $ergebnis[$d] ." | ";’. $ergebnis[$e] ." | ";’. $ergebnis[$f] ." | ";’. $ergebnis[$g] ." | ";Merkmal | ’;
echo ’
';
?>[/code]
hallo,
also dann mal hier de Quelltext
[code]<!doctype HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
Vertretungsplan 12BG - bs-gelnhausen.de/Vertretungsplan (c) bs-gelnhausen h1 { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Right} h2 { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: left} caption { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: center; height: 40} p { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} remark { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Left} a { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left; text-decoration: none} body { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} td { font-family: Tahoma; font-size: 12px; font-weight: normal}Achten Sie bitte auch auf die Vertretungsmonitore und Aushänge in der Schule!
Datum | Tag | Stunde | Lehrer | Fach | VRaum | Merkmal |
16.12.2010 | Do | 1 / 2 | SCUL | WIBE4 | Merkmal | |
3 / 4 | SAND | e5 | Merkmal | |||
5 / 6 | FALK | d5 | Merkmal |
[/code]
Hi,
hab nen fehler rein gemacht sorry… bitte übernimm nochmal den Code von oben
also aus diesem Post:
viewtopic.php?p=322350#p322350
Hab das oben ausgebessert da ich nicht in jedem Post den gleichen Code wiederholen will wird langsam unübersichtlich
Wäre nett wenn du dann nochmal den neuen Quellcode Postest
lg flo
hallo,
hier nochmal der aktuelle Quelltext:
im div id test steht Frei drinn von daher passt iwas mit der if abfrage nicht
weiß nur selbst auch kein meter was da net stimmt
…
[code]<!doctype HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
Vertretungsplan 12BG - bs-gelnhausen.de/Vertretungsplan (c) bs-gelnhausen h1 { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Right} h2 { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: left} caption { font-family: Tahoma; font-size: 18px; font-weight: bold; text-align: center; height: 40} p { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} remark { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: Left} a { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left; text-decoration: none} body { font-family: Tahoma; font-size: 12px; font-weight: normal; text-align: left} td { font-family: Tahoma; font-size: 12px; font-weight: normal}Achten Sie bitte auch auf die Vertretungsmonitore und Aushänge in der Schule!
Datum | Tag | Stunde | Lehrer | Fach | VRaum | Merkmal |
16.12.2010 | Do | 1 / 2 | SCUL | WIBE4 | Merkmal | |
3 / 4 | SAND | e5 | Merkmal | |||
5 / 6 | FALK | d5 | Merkmal |
[/code]
HI
Jackpot
[code]
Frei
[/code]
d.h. in der variable $ergebnis[$g] steht nicht
drinnen sondern
[quote][leerezeile]
Frei
[leerezeile]
[/quote]
Also sollte die if so lauten müssen
if($ergebnis[$g] != '\nFrei\n') {
//dies passiert wenn nicht frei drinnensteht
} else {
//dies passiert wenn frei drinnensteht
}
bzw. wenn das nicht klappt dann:
$hilfsvariable = '
Frei
';
if($ergebnis[$g] != $hilfsvariable) {
//das passiert wenn nicht frei drinnen steht
} else {
//das passiert wenn Frei drinnen steht
}
hoffen wirs mal das es endlich klappt
lg flo
Ist vielleicht eventuell
trim()
behilflich? Das entfernt nämlich auch \n und normale Leerzeichen.
stimmt voll vergessen … dann
if(trim($ergebnis[$g]) == 'Frei') {
//das kommt wenn frei drinnen steht
} else {
//das kommt wenn nicht frei drinnen steht
}
danke mgier
lg flo