ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
818
818
EMPFEHLEN
-
17.01.05 12:51 #1
Hallo,
ich habe eine Webform erstellt, die in einer MySQL-Datenbank Seiteninhalte abspeichert.
Dabei ist es möglich HTML und plainText zu verwenden. Der Inhalt des Datenbankfeldes wird zum anzeigen ausgelesen und mit nl2br($inhalt) ausgegeben.
Mein Problem hierbei ist, dass nl2br() natürlich die Zeilenumbrüche ("\n") nicht nur für plainText-Zeilen in HTML-Zeilenumbrüche ("<br />") umwandelt, sondern auch für Zeilen, die reine HTML-Tags entahlten.
Bsp:
Der Ursprungstext
wird hierbei inCode :1 2 3 4 5 6 7 8
Hallo Welt! Bist du da? <table> <tr> <td>Hallo alle anderen!</td> </tr> </table> Ende.
umgwandelt.Code :1 2 3 4 5 6 7
Hallo Welt!<br /> Bist du da?<br /> <table><br /> <tr><br /> <td>Hallo alle anderen!</td><br /> </tr><br /> </table><br />
Dies führ natürlich zu einer viel zu weit auseinandergezogenen Darstellung.
Hat jemand eine Idee, wie man dieses Problem lösen könnte? phpBB-Foren (und wahrscheinlich auch dieses) haben dieses Problem ja nicht. Wie fügen die die Zeilenumbrüche ein? per RegEx ohne "s" Identifier?
Gruß
loli/!\ Beware of lolis /!\
-
nach dem nl2br() z.B.
Code :1
$text=str_replace('><br />','>',$text);
-
17.01.05 13:22 #3
Ja, habe ich mir auch überlegt, aber ich hatte gehoft, dass es eine möglichkeit gibt, die weniger Performance schluckt :|
Die Texte können über mehrere Seiten gehen.
Greez
loli
[EDIT]
Außerdem werden dann auch Zeilen nicht umgebrochen, wenn plainText und HTML zusammen benützt werden e.g. "Hallo Welt<table>" ....
Das wäre dann nur mit RegEx zu lösen und das verlangsamt mir die Seite doch zu stark
[/EDIT]/!\ Beware of lolis /!\
-
Naja...mit RegExp ginge es so:
Code :1
$text=preg_replace('/([^>])[\s]+$/m', '\\1<br />', $text);
Zur Performance kann ich keine sachdienlichen Hinweise geben.... ich glaub aber nicht, dass du bei soetwas überhaupt ohne RegExp auskommst(du wirst da ja sicher noch mehr tun als Zeilen umbrechen)
-
17.01.05 14:15 #5
Mhh... ok, ich werde einfach die RegEx benutzen. *seufz*
loli
~closed~/!\ Beware of lolis /!\
-
17.01.05 15:26 #6Sicaine Tutorials.de Gastzugang
oO Perfomance? Na egal lassen wir das.
Öhm ich stell mir hier mal die komische Frage wieso jemand ne HTML-Table verwendet aber kein <br> kennt? Bzw. halt <br/>?
-
Es gibt bereits weitaus bessere Funktionen, die nicht nur Steuerzeichen in erzwungene Zeilenumbrüche umformen, sondern auch welche, die den Text durch aufeinanderfolgende Steuerzeichen in Absätze gliedert. So z. B. die autop-Funktion von Matthew Mullenweg.
Markus Wulftange
-
17.01.05 21:53 #8Kannst du mir das nochmal auf deutsch formulieren, bitte?Öhm ich stell mir hier mal die komische Frage wieso jemand ne HTML-Table verwendet aber kein <br> kennt? Bzw. halt <br/>?
Greez
loli/!\ Beware of lolis /!\
-
Er meint damit, dass wieso du Zeilenumbrüch ber nl2br umwandelst, wenn der Autor des in das Formular geschriebenen Textes html-Code kennt. Und womit er recht hat. Weil wer ein table Tag kennt, kennt auch br's...
Widriger aber sind mir noch alle Speichellecker; und das widrigste Thier von Mensch, das ich fand, das taufte ich Schmarotzer: das wollte nicht lieben und doch von Liebe leben.
-------------
Gruß Ruben
-
17.01.05 22:13 #10
Ok, das habe ich jetzt verstanden, aber das ganze ist eine art abgespecktes CMS-System für die Seite des Instituts für Biometrie und Informatik der Uni-Klinik Freiburg (PS: nicht meine Seite! Die alte!) und einige der Dipl.Statistiker dort können kaum HTML... es gibt also die Möglichkeit HTMl zu verwenden, aber es sit nicht zwingend (und für die, die keines mögen, gibt es immer noch die Java-Script-Includes wie hier im Forum = HTML für Links und so). Also schon berechtigt, denke ich und ich will sie auch nicht überfordern, indem sie extra ein Häckchen machen müssen, um HTML zu verwenden :P
Greez
loli/!\ Beware of lolis /!\
-
Dann wird dir wohl kaum was übrig bleiben.
Aber mal offtopic, ich möchte auch ein cms mit evtl. so einem JavaScript proggen wie hier auf Tuts.de, aber wie geht es das ich zum Beispiel einen Link mit entsprechendem Html-Code per JS einfüge, kannst du mir da mal nen Link zu ner Erklärung geben? Wills ja auch verstehen...Widriger aber sind mir noch alle Speichellecker; und das widrigste Thier von Mensch, das ich fand, das taufte ich Schmarotzer: das wollte nicht lieben und doch von Liebe leben.
-------------
Gruß Ruben
Ähnliche Themen
-
JSF 1.2 - h:-tags werden gerendert, f:-tags nicht?
Von Firestorm696 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 19.03.10, 08:46 -
warum können manche Filter nicht auf .PSD angewendet werden, sondern nur auf .JPG
Von Zisch im Forum PhotoshopAntworten: 9Letzter Beitrag: 08.01.08, 21:11 -
Wie soll ich das mit HTML Tags machen?
Von Eichhornleib im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 19.12.04, 03:29 -
meine hp soll gleich bei meiner domain geladen werden, nicht erst nach .../index.html
Von dscater23 im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 03.11.04, 19:43 -
HTML-Tags werden ausgelassen
Von g-zus im Forum PHPAntworten: 2Letzter Beitrag: 28.06.04, 17:17





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren