spectas
02.10.2009, 22:54:40
Hallo allerseits,
ich würde gerne einen Ausschnitt aus einer Webseite sozusagen als "Newsticker" auf meiner eigenen Seite anzeigen lassen. Leider sind meine PHP-Kenntnisse nicht besonders ausgeprägt. Habe mich schon etwas eingelesen, aber vor allem der Gesamtaufbau vom Algorithmus macht mir Gedanken. Zunächst einmal der "Quell-Quelltext":
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
</head>
<body>
<div class="b_newsbox">
<h2>Newsbox</h2>
<h3><a href="news_1233.html">Neuigkeit 1</a></h3>
<div class="b_meldung" style="margin-bottom:0px">Kurzbeschreibung 1</div>
<div class="b_platzhalter"></div>
<div class="b_meldung" style="padding-top:0px">[01.09.2009]</div>
<h3><a href="artikel/art_1234.html">Neuigkeit 2</a></h3>
<div class="b_meldung" style="margin-bottom:0px">Kurzbeschreibung 2</div>
<div class="b_platzhalter"></div>
<div class="b_meldung" style="padding-top:0px">[02.09.2009]</div>
<h3><a href="cms/news_1235.html">Neuigkeit 3</a></h3>
<div class="b_meldung" style="margin-bottom:0px">Kurzbeschreibung 3</div>
<div class="b_platzhalter"></div>
<div class="b_meldung" style="padding-top:0px">[03.09.2009]</div>
</div>
</body>
</html>
Nun meine Fragen:
1. Meldungen aus externer Webseite extrahieren:
Gibt es eine Möglichkeit, den generierten HTML-Code des div-Bereiches "b_newsbox" auszulesen und per php auf meiner eigenen Seite anzeigen zu lassen? Das könnte vielleicht mit der Funktion preg_match() erfolgen? Der Startpunkt ist dabei natürlich der Schnipsel mit dem "b_newsbox". Nur der Endpunkt ist leider ein kaum von anderen zu unterscheidendes "</div>". Alternativ könnte man vielleicht jede Meldung einzeln extrahieren? Auch dort fehlt mir aber ein guter Ansatz, mit einem regulären Ausdruck abzugrenzen. Ideen?
2. Links editieren:
Die Links (href) haben dann jedoch relative Pfade, ich muesste sie aber verändern und die Domain davorsetzen ("www.seite.de/"). Geht das? Es müsste wohl eine Ersetzungsfunktion mitlaufen ("preg_replace()"?). Also WENN «href="cms» DANN ersetze es durch «href="http://www.seite.de/cms».
Meines Erachtens etwas in der Richtung:
echo preg_replace('/<a href="', '<a href="http://www.seite.de/', $zeichenkette);
Mein Problem ist nur, was ist, wenn mal ein absoluter Pfad als Link dabei ist? Kann man das ausschließen, damit nicht der Domainname vornangehängt wird?
Also, ich wäre für Starthilfe sehr dankbar!
Viele Grüße,
Spectas
ich würde gerne einen Ausschnitt aus einer Webseite sozusagen als "Newsticker" auf meiner eigenen Seite anzeigen lassen. Leider sind meine PHP-Kenntnisse nicht besonders ausgeprägt. Habe mich schon etwas eingelesen, aber vor allem der Gesamtaufbau vom Algorithmus macht mir Gedanken. Zunächst einmal der "Quell-Quelltext":
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
</head>
<body>
<div class="b_newsbox">
<h2>Newsbox</h2>
<h3><a href="news_1233.html">Neuigkeit 1</a></h3>
<div class="b_meldung" style="margin-bottom:0px">Kurzbeschreibung 1</div>
<div class="b_platzhalter"></div>
<div class="b_meldung" style="padding-top:0px">[01.09.2009]</div>
<h3><a href="artikel/art_1234.html">Neuigkeit 2</a></h3>
<div class="b_meldung" style="margin-bottom:0px">Kurzbeschreibung 2</div>
<div class="b_platzhalter"></div>
<div class="b_meldung" style="padding-top:0px">[02.09.2009]</div>
<h3><a href="cms/news_1235.html">Neuigkeit 3</a></h3>
<div class="b_meldung" style="margin-bottom:0px">Kurzbeschreibung 3</div>
<div class="b_platzhalter"></div>
<div class="b_meldung" style="padding-top:0px">[03.09.2009]</div>
</div>
</body>
</html>
Nun meine Fragen:
1. Meldungen aus externer Webseite extrahieren:
Gibt es eine Möglichkeit, den generierten HTML-Code des div-Bereiches "b_newsbox" auszulesen und per php auf meiner eigenen Seite anzeigen zu lassen? Das könnte vielleicht mit der Funktion preg_match() erfolgen? Der Startpunkt ist dabei natürlich der Schnipsel mit dem "b_newsbox". Nur der Endpunkt ist leider ein kaum von anderen zu unterscheidendes "</div>". Alternativ könnte man vielleicht jede Meldung einzeln extrahieren? Auch dort fehlt mir aber ein guter Ansatz, mit einem regulären Ausdruck abzugrenzen. Ideen?
2. Links editieren:
Die Links (href) haben dann jedoch relative Pfade, ich muesste sie aber verändern und die Domain davorsetzen ("www.seite.de/"). Geht das? Es müsste wohl eine Ersetzungsfunktion mitlaufen ("preg_replace()"?). Also WENN «href="cms» DANN ersetze es durch «href="http://www.seite.de/cms».
Meines Erachtens etwas in der Richtung:
echo preg_replace('/<a href="', '<a href="http://www.seite.de/', $zeichenkette);
Mein Problem ist nur, was ist, wenn mal ein absoluter Pfad als Link dabei ist? Kann man das ausschließen, damit nicht der Domainname vornangehängt wird?
Also, ich wäre für Starthilfe sehr dankbar!
Viele Grüße,
Spectas