Über <form> Aufgerufene Seite in string oder array einlesen?
Schnaps
- php
Servus
Ich habe eine Seite die ich über einen <form> Tag aufrufe, da ich damit ich sie aufrufen kann bestimmte POST Variabeln in der auf zu rufenden Seite haben muß.
das klappt auch soweit, nur brauche ich nur bestimmte HTML passagen aus der Seite, diese möchte ich gerne über RegExp raus filtern.
Deswegen muß ich die Seite in einem String oder in einem Array haben.
Ist das möglich?
Wenn die method="Post" Variablen nicht wären könnte ich das ja ganz einfach mit $inhalt=file(seite) machen, aber mit dem Aufruf über den <Form> Tag weiß ich leider nicht wie ich das machen könnte.
Etwas hilfe wäre nett.
MFG
Schnaps
hi,
Wenn die method="Post" Variablen nicht wären könnte ich das ja ganz einfach mit $inhalt=file(seite) machen, aber mit dem Aufruf über den <Form> Tag weiß ich leider nicht wie ich das machen könnte.
du möchtest einen POST-request mit PHP simulieren.
http://www.dclp-faq.de/q/q-code-post.html
gruss,
wahsaga
Ja das klingt schon sehr gut was du da geschrieben hast, aber ich komme leider nicht ganz klar mit der Funktion.
Wenn ich dort die Variablen setze kommen nur Fehlermeldungen.
Verstehe ich das Richtig das nach der Funktion der ganze Inhalt der Seite in $res sein sollte?
also in $data_to_send packe ich einen string der alle meine gewünschten Daten enthält wie $data_to_send="vari1=blabla&vari2=blabla"
$referer ist dann die Seite auf der normalerweise das <form> tag steht, damit die seite denkt da komm ich her.
Na ja $host und $path sind ja klar.
function PostToHost($host, $path, $referer, $data_to_send) {
$fp = fsockopen($host, 80);
printf("Open!\n");
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data_to_send);
printf("Sent!\n");
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
printf("Done!\n");
fclose($fp);
return $res;
}