rss mit php aufbereiten

Fritzek

Grünschnabel
Hallo
ich will mit PHP einen rss feed erzeugen. dazu selektiere ich mir aus der DB den Text und jage ihn durch meinen Parser. Der macht z.B. htmlspecialchars und strip_tags, um das ganze well-formed zu bekommen. Das funktioniert auch schon bombastisch - wenn ich die Länge der Texte nicht limitieren würde. Leider muss ich das machen und hab jetzt das Problem, wenn am Ende ich zum Beipspiel einen Tag wie "&lt;" habe und das ";" abgeschnitten wird, ist der feed nicht mehr well-formed. Bei einfachen Tags wäre das auch kein Problem, schlimmer ist es mit Tags wie "<a>", die doch etwas länger und komplexer sind. Was ich brauche ist eine Idee, wie ich feststellen kann, ob am Ende ein Tag betroffenen ist und den Text entsprechen kürze.
Vielen Dank für Eure Hilfe
Fritzek
 
du willst also einfach nur eine Text länge festlegen...?
wenn du einfach absätz machst wo er abbrechen solldann probier das mal für dich umbauen:

PHP:
$ab = '100';// legt fest ab wo er nach einem absatz suchen soll
$bis = strpos($description, "\n", $ab); //legt fest was er suchen soll.. in diesem Fall einen Absatz
$description = substr($description, 0, $bis);
$description = $description."Mehr...";
 
Danke, Bastiang
das geht schon in die Richtung in die ich gehen will. Ja, ich will feststellen, wo ich denText aufhören lassen sollte. Das Problem ist, dass es leider nicht nur ein einfacher Absatz ist, sondern kann ein fast beliebiges tag sein. Da der Text aus einer DB kommt, gehen die Absätze eh verloren.
Ich hätt ja auch kein Problem zur Not zur maxLenght noch ein zwei Zeichen zuzugeben, wenn ich damit ein fehlendes ";" einfangen kann.
Danke nochmals für deine Hilfe.
Fritzek
 
Nein, also die Absätze die du in der Datenbank machst gehen überhaupt nicht verloren...
Aber, wenn du das mit den Absätzen nicht machen willst, kannst du ja hergehen und eine Zeichenfolge nehmen z.B. ###Ende####
 
Ja, du hast recht, aber Absätze sind wie gesagt mein kleinstes Problem. Ich brauch etwas mehr "logik". ein beispiel:
der text:
"Attac, FoeBuD e.V., Grüne Jugend, Netzwerk Neue Medien und abc.net haben jetzt unter &lt;a href="http://www.xyz.de" target="_new"&gt;http://www.xyz.de&lt;/a&gt; eine Initiative organisiert, mit der man sich gegen die juristische Verfolgung von P2P-Usern wehren will."
wenn du jetzt sagen wir mal die maxLength auf 175 gesetzt hast kommst du bei "&lt;/a&gt;" zwischen "&g" raus. das ist nicht well-formed (sagt xml). in dem fall wäre es schön zu wissen, dass nur noch zwei zeichen fehlen und ich geb sie einfach dazu. anders wäre es, wenn ich beim "target="_new"&gt;" rauskommen würde: zuviele zeichen noch bis zum ende, also lass uns nach "&lt;a href" suchen und dort aufhören. a href ist aber nur ein beispiel, da gibt es auch noch img etc.
vielleicht ist es auch nicht sinnvoll, die tags bei zubehalten. was meint ihr?
 
Zurück