Cybaer: Nachtrag: Wie kann ich Content aus einer anderen HTML Datei einlesen?

Beitrag lesen

Hi,

Du hast die Funktion from() zweimal drin?
Na ja...ich möchte ja in der Page mehrmals Text auslesen - ergo habe ich für jeden Abruf den PHP Code wieder eingefügt um dort den neuen Text einzutragen...

Frameseiten sind unterschiedliche Dokumente und somit für PHP irrelevant.

Relevant ist, was in der Seite steht, die den Fehler produziert.

Ich bekomme es, dank deiner Hilfe, hin, dass er mir einmal den Text richtig ausliest und übergibt - sobalt ich aber ein aderes Fragment auslesen und übergeben möchte bekomme ich den Fehler.

Du mußt nur die $nr ändern. Sinnvollerweise packt man das in eine Funktion. Auch sollte man vielleicht noch abfragen, ob der News-Eintrag überhaupt vorhanden ist. Mein Script sollte Dir aufzeigen, daß so etwas leicht möglich ist - es ist nicht die "ausgefeilte Lösung", für die ich normalerweise bezahlt werde. =;-)

Aber sei's drum - noch ein kleiner Schubser ;-):

$data=<<<MyNews
&news_txt1=neues

&news_txt2=20.02.2005<br>
<font color="#438092"><u><a href="http://www.google.at/search?hl=de&ie=ISO-8859-1&q=site%3Awww.schaufler.cc&btnG=Google+Suche&meta=" target="_blank">Die neue Homepage von Lukas Schaufler.</a></u></font>

&news_txt3=Lange hat es gedauert um von der langweiligen Startgrafik zu dieser Page zu gelangen, aber wir sind nun stolz auf unsere Page und wünschen euch noch viel Spass <br><font color="#438092"><u><a href="http://www.google.at/search?hl=de&ie=ISO-8859-1&q=site%3Awww.schaufler.cc&btnG=Google+Suche&meta=" target="_blank">mehr erfahren</a></u></font>
MyNews;

echo getNews($data,1);
echo getNews($data,2);
echo getNews($data,3);

Das kann man auch noch in in eine Schleife packen, in einem Array ablegen, etc.

Die benötigten Funktionen:

function getNews($data,$nr=1) {
$header="&news_txt";
$start=$header.$nr."=";
return to(from($data,$start,strlen($start)),$header);
}

function from($inp,$need,$offset=0) {
$a=strpos($inp,$need);
if($a!==FALSE) { $a=substr($inp,$a+$offset); }
return $a;
}

function to($inp,$need,$offset=0) {
$a=strpos($inp,$need);
return ($a!==FALSE)?substr($inp,$offset,$a-$offset):$inp;
}

Die letzten beiden habe ich noch ein wenig optimiert (mit unterschiedlicher Vorgehensweise - schon wg. des Lerneffekts ;)), damit nicht vorhandene Nummern nichts falsches zurückliefern (Änderung in from()) und am Ende ist jetzt auch keine abschließende Kennung mehr erforderlich (Änderung in to()).

Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!