Archiv verlassen und diese Seite im Standarddesign anzeigen : Text kürzen, jedoch nicht auch HTML Codes entfernen
Maisaffe
25.12.2005, 21:26
Hi.
Ich kürze momentan Texte auf 250 Zeichen durch folgenden Befehl:
substr($row['content'], 0, 512)
Soweit, so gut.
Wenn ich jetzt den "BB Code Convet0r (u. eigene Codes)" gebastelt habe, dann könnte folgendes passieren, substr() schneidet teile des, in html umgewandelten Code ab:
...<a href="http://forum.rpg-kingd<a href="?go2=blog&blog="28">...</a>
Wie man iM code sieht: das <a href="?go2=blog&blog="28">...</a> wird angehängt, um den Eintrag komplett sich anzuschauen.
Nur blöd, in der Voransicht, habe ich einen Fehlerhaften Link vor dem "...".
Mit welchem Trick oder intelligentem System kann ich das verhindern, das mindestens das da stehen würde:
...<a href="http://forum.rpg-kingddom.de"></a><a href="?go2=blog&blog="28">...</a>?
Dennis
Ich würds irgendwie mit Regexps machen...
/.{,125}(<a (.*?)>.{,125}<\/a>)?.{,125}/Oder so. Ich bin jetzt zu faul und es ist zu spät das alles genau zu erklärn -_-
Das Ergebnis müsste der gekürzte Text sein, aber, falls ein Link drin ist, mit dem kompletten Link.
Ich geb aber keine Gewähr.
:bahnhof:
Wie, du kürzt Texte?
Ich habe noch nie davon, wovon du grad redest, gehört^^
Erbitte einweihung :D
Maisaffe
26.12.2005, 11:24
Ich würds irgendwie mit Regexps machen...
/.{,125}(<a (.*?)>.{,125}<\/a>)?.{,125}/Oder so. Ich bin jetzt zu faul und es ist zu spät das alles genau zu erklärn -_-
Das Ergebnis müsste der gekürzte Text sein, aber, falls ein Link drin ist, mit dem kompletten Link.
Ich geb aber keine Gewähr.
Jau, werd ich mir mal später anschauen. Wie ich diesen Perlartigen (?) Code doch hasse. :/
Naja, mal schauen ob es klappt. ;)
:bahnhof:
Wie, du kürzt Texte?
Ich habe noch nie davon, wovon du grad redest, gehört^^
Erbitte einweihung :D
Ist das jetzt Ironie? *kratz am bart
Dennis
ne.
ich wüsst nur gerne, worums überhaupt geht.
Maisaffe
27.12.2005, 13:55
ne.
ich wüsst nur gerne, worums überhaupt geht.
Du kennst doch Blogs oder? (http://blog.de müsste einer sein)
Die kürzen (standartmässig, dachte ich jedenfalls bis eben O.o) Ihre Texte auf eine gewisse Anzahl von Buchstaben, z.B. auf 500 Buchstaben, danach wird der Text vom Webserver gelöscht.
Dann kann man auf einen Link klicken um den ganzen Text sich anzuschauen.
Dennis
jetzt versteh ich^^
einen text mit php kürzen, und der schneidet dir html tags ab^^
aber da weiß ich auch keine Lösung außer deiner, die die das porbem verursacht.
Das könnte so funktionieren:
Entferne erst alle HTML-Tags aus dem Text und speichere ihre Position.
Kürze den Text auf 500 Zeichen und füg die Tags wieder ein.
Wenn ein Tag geöffnet wurde, aber aufgrund des Abschneidens nicht mehr geschlossen wurde, schließe ihn am Ende des gekürzten Textes.
Maisaffe
27.12.2005, 21:25
Das könnte so funktionieren:
Entferne erst alle HTML-Tags aus dem Text und speichere ihre Position.
Kürze den Text auf 500 Zeichen und füg die Tags wieder ein.
Wenn ein Tag geöffnet wurde, aber aufgrund des Abschneidens nicht mehr geschlossen wurde, schließe ihn am Ende des gekürzten Textes.
Klingt leichter als es ist. :D
Ich hab Dingsis Coder immernoch nicht ausprobiert. :\
Dennis
Das könnte so funktionieren:
Entferne erst alle HTML-Tags aus dem Text und speichere ihre Position.
Kürze den Text auf 500 Zeichen und füg die Tags wieder ein.
Wenn ein Tag geöffnet wurde, aber aufgrund des Abschneidens nicht mehr geschlossen wurde, schließe ihn am Ende des gekürzten Textes.
IMHO zu umständlich es würde genügen bei der 500ten Position nach dem letzen vorkommen von ">" und "<" zu suchen. Sollte nach dem letzen ">" noch ein "<" erscheinen weißt du, dass du einen Tag abgeschnitten hast. also das erste ">" rechts der 500sten Position suchen und den String erst nach ab der Position abschneiden.
Sollte etwas performanter arbeiten als die Version von Manni. Das Problem mit den offenen Tags ist damit jedoch nicht behoben.
Wenn, dann muss man aber nach /> und </ suchen ;) Und wenn mehr als ein Tag offen ist, hilft das auch nicht...
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.