Antworten auf deine Fragen:
Neues Thema erstellen

Div Inhalt auslesen

Mims

Gesperrt

Hallo,

ich suche schon ein paar Tage nach einer geeigneten Funktion, einen Div-Tag per PHP auszulesen. Gedacht habe ich da an preg_match, doch leider bin ich auf keine sinnvolle Funktion geraten.
Bisher habe ich h1, h2 (...) Tags immer mit folgender Funktion ausgelesen:
Code:
<?php
$text = file_get_contents ('http://www....de');
$text .= file_get_contents ($_SERVER["DOCUMENT_ROOT"].$_SERVER["PHP_SELF"]);
if (preg_match("/<h1>(.*?)<\/h1>/i",$text,$title))
{echo "Hier steht irgendetwas ".$title[1]."";}
?>
Doch leider funktioniert es bei Div-Tags nicht und stellt mich somit vor eine neue Herausforderung.
Ich wäre über Hilfe dankbar.

Vielen Dank.
 

exo

Aktives Mitglied

AW: Div Inhalt auslesen

Suchst du eig. nur nach divs oder auch nach deren id zb?

Ich pers. nehm da lieber CURL, weil viele das auslesen direkt unterbinden, aber bei CURL man den browser ja vorgaukelt, dass ein anderer browser die website aufruft, hier mal ein Beispiel:

PHP:
    $ch = curl_init( "Http://www.deineurl.de" );

    curl_setopt( $ch, CURLOPT_USERAGEND, "Internet Explorer" );

    ob_start();

    curl_exec( $ch );
    curl_close( $ch );

    $str = ob_get_contents();
    ob_end_clean();

    //String Suchen

    preg_match_all("#<a class=\"linkTitle\" href=\"searchobject(.+?)\">(.+?)</a>#", $str, $events);    
    $i=0;
    foreach($events[0] as $event => $key){
    
        echo '<div class="headline">
                <div style="line-height:16px">'.$key.'</div>
              </div>';    
              $i++;
    }

natürlich kannst du das <a> - TAG durch dein gesuchtes div ersetzen.
 

Chriss1987

me.drinkCoffee();

AW: Div Inhalt auslesen

geht das nicht mit javascript einfacher?

Hi,

mit JS kann man nicht einfach auf andere Websites zugreifen. Hier geht es ja um das Auslesen externer Sites, z.B. das auslesen und Anzeigen von News anderer Sites o.ä.

@TO: "funktioniert nicht" ist so eine präzise Beschreibung... ibt es Fehlermeldungen, wird überhaupt was angezeigt, zeigt das Script eine falsche Ausgabe??

Schöne grüße aus dem Sauerland!
Chriss
 

Mims

Gesperrt

AW: Div Inhalt auslesen

Suchst du eig. nur nach divs oder auch nach deren id zb?

Ich pers. nehm da lieber CURL, weil viele das auslesen direkt unterbinden, aber bei CURL man den browser ja vorgaukelt, dass ein anderer browser die website aufruft, hier mal ein Beispiel:

PHP:
    $ch = curl_init( "Http://www.deineurl.de" );

    curl_setopt( $ch, CURLOPT_USERAGEND, "Internet Explorer" );

    ob_start();

    curl_exec( $ch );
    curl_close( $ch );

    $str = ob_get_contents();
    ob_end_clean();

    //String Suchen

    preg_match_all("#<a class=\"linkTitle\" href=\"searchobject(.+?)\">(.+?)</a>#", $str, $events);    
    $i=0;
    foreach($events[0] as $event => $key){
    
        echo '<div class="headline">
                <div style="line-height:16px">'.$key.'</div>
              </div>';    
              $i++;
    }
natürlich kannst du das <a> - TAG durch dein gesuchtes div ersetzen.
Hi und danke für deine Antwort,

du hast im Grunde genau verstanden, was ich brauche. Zu deiner Frage ob die Div Tags auf mit ID´s ausgestattet sind; ja, sind sie.
Lustigerweise habe ich noch nie etwas von CURL gehört, aber es tuts :) Meine Methode, die ich ebenfalls versucht habe; mit get_content, funktioniert nicht. Dort erhälst du eine ewige Warteschleife. Nur sicherheitshalber hier der Code:
Code:
<?php

$ch = file_get_contents ('http://www.domain.de/index.php');


//String Suchen

preg_match_all("#<div id=\"viewssumme\">(.+?)</div>#", $str, $events);    
$i=0;
foreach($events[0] as $event => $key){
    
    echo '
        <div class="headline">
            <div style="line-height:16px">'.$key.'</div>
        </div>';    
    $i++;}  

?>
<div id="viewssumme">ss</div>
Ein Problem habe ich jedoch; ich möchte das Script nicht auf einem fremden basieren lassen, sondern ich möchte den Inhalt eines Div´s aus der gleichen Datei, in der die Funktion steht, auslesen.
Die PHP Variable für das aktuelle Dokument lautet meines Erachtens wie folgt:
Code:
($_SERVER["DOCUMENT_ROOT"].$_SERVER["PHP_SELF"])
Könntest du das Script so umschreiben, dass es immer die selbe Datei durchsucht, da ich das anscheinend nicht gebacken kriege!? Das wäre sehr freundlich.

Vielen Dank für deine Unterstützung.

PS: Dank deiner Methdik fallen für mich absofort iFrames ins Wasser :)
 
Zuletzt bearbeitet:

Mims

Gesperrt

AW: Div Inhalt auslesen

Hi,

mit JS kann man nicht einfach auf andere Websites zugreifen. Hier geht es ja um das Auslesen externer Sites, z.B. das auslesen und Anzeigen von News anderer Sites o.ä.

@TO: "funktioniert nicht" ist so eine präzise Beschreibung... ibt es Fehlermeldungen, wird überhaupt was angezeigt, zeigt das Script eine falsche Ausgabe??

Schöne grüße aus dem Sauerland!
Chriss
Hi und ebenfalls danke für deine Antwort,

hier geht es doch um das Auslesen des Inhalts auf der selben Seite. Doch möchte ich mit JavaScript nicht arbeiten, da ich mit dem ausgelesenen Inhalt aus dem Div-Tag weiter mit prozentualen Werten arbeiten möchte. Daher scheint mir PHP hier angebracht.
Dennoch danke für deine Bemühung.
 

Mims

Gesperrt

AW: Div Inhalt auslesen

Suchst du eig. nur nach divs oder auch nach deren id zb?

Ich pers. nehm da lieber CURL, weil viele das auslesen direkt unterbinden, aber bei CURL man den browser ja vorgaukelt, dass ein anderer browser die website aufruft, hier mal ein Beispiel:

PHP:
    $ch = curl_init( "Http://www.deineurl.de" );

    curl_setopt( $ch, CURLOPT_USERAGEND, "Internet Explorer" );

    ob_start();

    curl_exec( $ch );
    curl_close( $ch );

    $str = ob_get_contents();
    ob_end_clean();

    //String Suchen

    preg_match_all("#<a class=\"linkTitle\" href=\"searchobject(.+?)\">(.+?)</a>#", $str, $events);    
    $i=0;
    foreach($events[0] as $event => $key){
    
        echo '<div class="headline">
                <div style="line-height:16px">'.$key.'</div>
              </div>';    
              $i++;
    }
natürlich kannst du das <a> - TAG durch dein gesuchtes div ersetzen.
Hi,

ich will dich nicht belästigen, aber könntest du meine Frage beantworten die über der jetzigen steht?
Vielen Dank :)
 

NoNamExTc

NoNamE

AW: Div Inhalt auslesen

Hi und danke für deine Antwort,

du hast im Grunde genau verstanden, was ich brauche. Zu deiner Frage ob die Div Tags auf mit ID´s ausgestattet sind; ja, sind sie.
Lustigerweise habe ich noch nie etwas von CURL gehört, aber es tuts :) Meine Methode, die ich ebenfalls versucht habe; mit get_content, funktioniert nicht. Dort erhälst du eine ewige Warteschleife. Nur sicherheitshalber hier der Code:
Code:
<?php

$ch = file_get_contents ('http://www.domain.de/index.php');


//String Suchen

preg_match_all("#<div id=\"viewssumme\">(.+?)</div>#", $str, $events);    
$i=0;
foreach($events[0] as $event => $key){
    
    echo '
        <div class="headline">
            <div style="line-height:16px">'.$key.'</div>
        </div>';    
    $i++;}  

?>
<div id="viewssumme">ss</div>
Ein Problem habe ich jedoch; ich möchte das Script nicht auf einem fremden basieren lassen, sondern ich möchte den Inhalt eines Div´s aus der gleichen Datei, in der die Funktion steht, auslesen.
Die PHP Variable für das aktuelle Dokument lautet meines Erachtens wie folgt:
Code:
($_SERVER["DOCUMENT_ROOT"].$_SERVER["PHP_SELF"])
Könntest du das Script so umschreiben, dass es immer die selbe Datei durchsucht, da ich das anscheinend nicht gebacken kriege!? Das wäre sehr freundlich.

Vielen Dank für deine Unterstützung.

PS: Dank deiner Methdik fallen für mich absofort iFrames ins Wasser :)


Wenn ich das richtig verstehe möchtest du das die (php) Datei, die den div auslesen soll, sich selbst aufruft um den div dort auszulesen...
Mit:
Code:
($_SERVER["DOCUMENT_ROOT"].$_SERVER["PHP_SELF"])
würdest du zwar die URL bekommen, würdest aber wenn du CURL benutzt das rekursiv aufrufen da du ja mit CURL auch wieder die Seite aufrufen würdest.

Aber wenn ich das nicht richtig verstanden habe wären deke ich ein paar mehr Infos nützlich :D
 
B

basher

Guest

AW: Div Inhalt auslesen

ich stehe vor dem selben Problem. bei mir wird nur "Array" ausgegeben. in meinem div ist ein bild eingebettet dieses bild (oder besser gesagt der title des bildes) wird immer wieder geändert. um diese änderungen auch auf meiner Site anzuzeigen würde ich hier gene das bild auf meine Site übernehmen. Irgendwie bekomme ich das nicht gebacken.
 

NoNamExTc

NoNamE

AW: Div Inhalt auslesen

Ein paar Infos mehr wären schon nicht schlecht ;).
Gib das Array doch mal mit print_r oder var_dump aus, vieleicht findest du da ja schon das was du suchst.

 
B

basher

Guest

AW: Div Inhalt auslesen

beitrag gelöscht
 
Zuletzt bearbeitet von einem Moderator:

Chriss1987

me.drinkCoffee();

AW: Div Inhalt auslesen

[...]Ich möchte nun dieses Bild in meiner Seite einbetten.[...]

Hi,

ich nehme mal an, du hast die Erlaubnis des Website-Betreibers, dass du das Bild in deine eigene Homepage einbinden darfst, dann ist es auch ein leichtes, den Betreiber zu fragen, wie du mit einfacheren Mitteln an das Bild kommst! ;)

@TO: wenn du doch die Ausgabe der aktuellen Datei auswerten möchtest, gibt es doch sicherlich einfachere Möglichkeiten:
1.) die Daten nicht direkt ausgeben, sondern in einer Variablen speichern und diese später auswerten => Vorteil: du bräuchtest die Seite nicht erneut aufrufen und hättest kein Problem mit Endlosschleifen; Nachteil: du müsstest wieder Regex anwenden und den Content durchsuchen

2.) beim Ausgeben der Daten diese zusätzlich in einer Variablen / einem Array speichern, dann kannst du damit direkt weiterarbeiten => Vorteil: performant, benötigt kein aufwändiges Regex; Nachteil: ich kenne deinen Code nicht, aber wenn du alles Zeilenweise per echo ausgibst und HTML & php oft mischst, ist es zunächst ein hoher Aufwand, jeden Datensatz in einer Variablen / einem Array zu speichern

3.) irgendwo müssen die Daten doch herkommen, die du ausgibst, diese Datenquelle kannst du doch für die weitere Bearbeitung nutzen?

Vielleicht kannst du uns ja mal ein paar Zeilen des Codes geben, dann könnte man andere Lösungswege einschlagen! ;) Denn eine generierte Seite nochmal generieren, nur um die Ausgaben zu verarbeiten ist mMn sehr unperformant!

Schöne Grüße aus dem Sauerland!
Chriss

Edit: @basher: dir ist klar, dass die grünen, roten und blauen Punkte nicht zusammen mit der Gebietskarte auf einem Bild sind, sondern einfach darüber gelegt wurden?
 
Zuletzt bearbeitet:
B

basher

Guest

AW: Div Inhalt auslesen

ja die erlaubnis habe ich. jedoch will der betreiber nur wegen mir keine xml datei oder der gleichen schreiben. welche codezeilen würdest du gerne sehen?
 

Chriss1987

me.drinkCoffee();

AW: Div Inhalt auslesen

ja die erlaubnis habe ich. jedoch will der betreiber nur wegen mir keine xml datei oder der gleichen schreiben. welche codezeilen würdest du gerne sehen?

Hi,

das mit den Codezeilen war auf den TO bezogen, wobei ich vorhin gesehen hab, dass der Thread schon nen bissl älter ist... ;)

Was genau möchtest du denn auf deiner Seite von der Karte darstellen? Vielleicht machst du mal ein Screenshot, dann ist das besser nachvollziehbar! ;)

Schöne Grüße aus dem Sauerland!
Chriss
 
B

basher

Guest

AW: Div Inhalt auslesen

es geht um den Rot makierten Punkt und zwar mit der Image ID FFI24 im DIV mit der ID FFD24.
 

Chriss1987

me.drinkCoffee();

AW: Div Inhalt auslesen

Hi,

nach genauerer Überprüfung des Codes hier die Antwort:
per CURL wirst du die gewünschten Informationen NICHT bekommen!
Die Status-Grafiken werden per AJAX nachgeladen, somit müsste JavaScript ausgeführt werden und das macht CURL nicht!

Jetzt die gute Nachricht: es gibt sehr wohl eine XML-Datei in der alle Angaben stehen! Die kannst du mit einfachsten Mitteln mit entsprechenden php-Funktionen auslesen! ;)

ABER:
ja die erlaubnis habe ich. jedoch will der betreiber nur wegen mir keine xml datei oder der gleichen schreiben. welche codezeilen würdest du gerne sehen?
Deine Aussage ist also falsch! Entweder du hast nicht die Erlaubnis, oder der Betreiber hat keine Ahnung (ich tendiere zum erst genannten). Darum werde ich dir ohne weitere Belege nicht weiter helfen, denn es handelt sich hier, sofern der Betreiber keine Erlaubnis erteilt hat, um eine Urheberrechtverletzung...

Schöne Grüße aus dem Sauerland!
Chriss
 
B

basher

Guest

AW: Div Inhalt auslesen

ich kann dir die erlaubnis gerne per pn mailen wenn du mir nicht glaubst. wie man eine xml datei auslest ist mir bekannt.
 

Chriss1987

me.drinkCoffee();

AW: Div Inhalt auslesen

Ok, dann bekommst du auch ne PN mit dem Link zur XML! ;)
Hoffe, du kannst verstehen, dass ich das nicht einfach so unterstütze, wenn fremde Inhalte ausgelesen werden! ;)

Schöne Grüße aus dem Sauerland!
Chriss
 

NoNamExTc

NoNamE

AW: Div Inhalt auslesen

Also ich hätte dir jetzt simple_html_dom empfohlen.

Aber ich habe das versucht und es kam nur "/codepages/wastl/images/leer.gif" dabei raus.
Wenn man den Quelltext auch so normal anzeigen lässt dann sieht man das auch so. Das funktioniert wohl nicht wenn der Quelltext durch javascript geändert wird.

PHP:
<?
include('inc/htmldom/simple_html_dom.php');


$gethtml = "http://www.feuerwehr-krems.at/CodePages/Wastl/wastlmain/ShowBezirk.asp?bezirk=15";
$html = file_get_html($gethtml);

echo "<pre>";

foreach($html->find('img') as $element)
{
       if($element->id == "FFI24")
       {
            echo $element->src;   
       }
}
?>
 
B

basher

Guest

AW: Div Inhalt auslesen

danke für die bemühungen. wurde jedoch jetzt mittels xml datei gelöst, die mir zur verfügung gestellt wurde.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben