Mittels PHP den Body-Tag auslesen ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Breaker
Mitglied
Beiträge: 19
Registriert: 26.08.2002 05:02
Kontaktdaten:

Mittels PHP den Body-Tag auslesen ?

Beitrag von Breaker »

Gibt es irgendeine Möglichkeit, mit PHP aus einer PHP-Datei den Body-Tag auszulesen ?

Den Hintergrund auslesen weiß ich ja, aber der Body-Tag, da bin ich überfragt....kann mir da jemand weiterhelfen ?
Hier könnte ihre Werbung stehen, sprechen Sie mich an, dann können wir über den Preis verhandeln :D
ClanScripts for Nuke
Signaturen dürfen maximal 3 Zeilen lang sein
Benutzeravatar
Shadowman
Mitglied
Beiträge: 170
Registriert: 16.12.2003 19:01
Wohnort: Vaterstetten

Beitrag von Shadowman »

öhm, wie meinst du das??
dass da in ner datei irgendwo <body></body> steht und du willst das dazwischen haben???
wenn ja, dann musst die diese datei erstmal mit file aufrufen.
dann suchst du nach dem ersten vorkommen von <body...
danach nach dem </body>. da bei file() jede zeile in einem array gespeichert ist, weisst du nun, zwischen welchen zeilen du den text auslesen musst. dass sieht dann ca. so aus:

Code: Alles auswählen

$datei = file('http://deine.url');
if(!$datei)
{
echo "<p>Datei Konnte nicht geöffnet werden.\n</p>";
}
else
{  
    $tag1="<body>";
    $tag2="</body>";
    for($i=0;$i<count($datei);$i++) 
   {
   $datei[$i]=trim($datei[$i]); 
   if($datei[$i]==$tag1 AND !$abc1) 
   { 
      $zeile1=$i;
      $zeile1++; 
      $abc1=1; 
   }
   if($datei[$i]==$tag2 AND !$abc2) 
   { 
      $zeile2=$i;
      $zeile2++; 
      $abc2=1; 
   } 
   }
   $o=0;
   for($u=$zeile1;$u<$zeile2;$u++)
   {
      $ausgabe[$o]=$datei[$u];
      $o++;
   }
}
für den body tag is es ja einfacher ^^

Code: Alles auswählen

$datei = file('http://deine.url');
if(!$datei)
{
echo "<p>Datei Konnte nicht geöffnet werden.\n</p>";
}
else
{   
   $tag="<body";
   for($i=0;$i<count($datei);$i++) 
   {
   $datei[$i]=trim($datei[$i]); 
   if($datei[$i]==$tag1 AND !$abc) 
   { 
      $zeile=$i;
      $zeile++; 
      $abc=1; 
   }
   }
   $body_tag=$datei[$zeile];
} 
dieses beispiel funktioniert nur wenn der gesammte body tag, und nichts anderes in einer zeile stehen, wenn das nicht der fall ist, dann musst du halt das danach per ereg_replace() ersetzen, wenn du nicht weisst wie --> www.php.net/manual/de
ich hoffe es funzt :D
Zuletzt geändert von Shadowman am 20.12.2003 22:37, insgesamt 2-mal geändert.
Breaker
Mitglied
Beiträge: 19
Registriert: 26.08.2002 05:02
Kontaktdaten:

Beitrag von Breaker »

Das ging aber schnell :-)

Danke dir, hast jetzt was gut bei mir :-)
Hier könnte ihre Werbung stehen, sprechen Sie mich an, dann können wir über den Preis verhandeln :D
ClanScripts for Nuke
Signaturen dürfen maximal 3 Zeilen lang sein
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wozu gibts denn reguläre Ausdrücke?

Code: Alles auswählen

$url = 'http://foo/bar';
$inhalt= implode('', file($url));
if(!preg_match('#<body[^>]*>(.*)</body>#si', $inhalt, $matches)) {
    die('kein <body> gefunden');
}
echo $matches[1];
Antworten

Zurück zu „Coding & Technik“