Forum auslesen

Andun
(Edit: Hat sich geklärt für alle die keine Lust haben es zu lesen)

Hi

Also ich hab vor ein Forum auszulesen und zu archivieren. Da ich dort Admin bin hab ich jeweils den Name, Datum und Content mit jeweils <!--Name--> Andun <!--+Name--> etc. Bei Andun steht im Template halt (((post_creator))) oder so. Ist ja auch egal. Auf jeden Fall hol ich mir die Seite und such nach dem ersten <!--Name--> dann such ich nach dem 1. <!---+Name--> und zieh dann das 2. vom 1. ab und hab die länge des Namen. Mit substr() kann ihc dann mit der Startposition und der Länge den Namen auslesen. Nach dem selben Prinzip hol ich mir auch Datum und Content.

Wenn ich fertig bin, dann nehm ich strstr() und schneide somit alles vor dem 1. <!--+Content--> ab. D.h. Ich hab noch den Rest, den ich noch nicht verarbeitet habe. Auch hier geht Name und Datum problemlos, nur leider findet er jetzt kein <!--+Content-->. Er zeigt mir also alles ab dem <!--Content--> an. Im Quelltext kann ich dass <!--+Content--> auch sehen, strpos() kann es angeblich nicht finden. Könnt ihr mir bitte helfen???
Achja, damit es nicht eine endlosschleife gibt, hab ich den code einfach 2 mal geschrieben(kopiert)

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:

<html>
<head>
<title>Backup Programm für Rapidforum  ++ Ver. 0.1</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<?php
$topicurl "http://44846.rapidforum.com/topic=100580085914";
$topichtml implode("",file($topicurl));
$html $topichtml;
//while (strpos($html, "<!--Name-->")) {
// --------------------------
$postNameA strpos($html"<!--Name-->")+11;
$postNameE strpos($html"<!--+Name-->");
$postNameL $postNameE $postNameA;
$postName substr($html$postNameA$postNameL);
// --------------------------
$postDatumA strpos($html"<!--Datum-->")+12;
$postDatumE strpos($html"<!--+Datum-->");
$postDatumL $postDatumE $postDatumA;
$postDatum substr($html$postDatumA$postDatumL);
// ---------------------------
$postContentA strpos($html"<!--Content-->")+14;
$postContentE strpos($html"<!--+Content-->");
$postContentL $postContentE $postContentA;
echo $postContentA."<br>";
echo $postContentE."<br>";
echo $postContentL."<br>";
$postContent substr($html$postContentA$postContentL);
// ---------------------------
echo $postName." --> ".$postDatum."<br>".$postContent."<hr noshade size=\"1\">";
$html strstr($html"<!--+Content-->");
//}


$postNameA strpos($html"<!--Name-->")+11;
$postNameE strpos($html"<!--+Name-->");
$postNameL $postNameE $postNameA;
$postName substr($html$postNameA$postNameL);
// --------------------------
$postDatumA strpos($html"<!--Datum-->")+12;
$postDatumE strpos($html"<!--+Datum-->");
$postDatumL $postDatumE $postDatumA;
$postDatum substr($html$postDatumA$postDatumL);
// ---------------------------
$postContentA strpos($html"<!--Content-->")+14;
$postContentE strpos($html"<!--+Content-->");
$postContentL $postContentE $postContentA;
echo $postContentA."<br>";
echo $postContentE."<br>";
echo $postContentL."<br>";
$postContent substr($html$postContentA$postContentL);
// ---------------------------
echo $postName." --> ".$postDatum."<br>".$postContent."<hr noshade size=\"1\">";
$html strstr($html"<!--+Content-->");
?>
</body>
</html>


Achja, dass ich das Forum so archivieren will liegt an der leider fehlenden Archiv funktion. heulen Naja, egal. ihc hoffe ihr könnt mir helfen.

Danke
Andun

EDIT:

Sorry für den Spam, aber das Prob hat sich grad gelöst.
daHooligan
das poste mal die lösung!
Andun
Achso. Ja.

Also das Prob ist das strstr() das gesuchte wort noch dran lässt. D.h. der text beginnt mit <!--+Content--> und somit ist dann das gefundene <!--+Content--> an Position 0 und nicht an 50 oder sonst wo. Dann verschiebt sich alles.

Ihc hab zur Lösung mit substr_replace() das wort abgeschnitten.