Zeilenumbrüche

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

Hi Leude!
Ich hab da n problem:
in einer Tabelle im textfeld sind die zeilenumbrüche mit dem tag \r\n gemacht.
das soll aber nun ersetzt werden mit <br> da die tabelle in ZOPE angezeigt werden soll. Kommen tut sie aus MySQL.
Kann mir einer da helfen und sagen wie ich das mach?
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
RainBowBender
User
Beiträge: 53
Registriert: Dienstag 6. April 2004, 10:33

Wenn dein Text in der Variable "meintext" ist:

Code: Alles auswählen

meintext.replace("\r\n","<br />")
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

hm das haut nicht so hin wie es da steht kann es sein das es so aussehen muss?

Code: Alles auswählen

meintext.replace('\n','<br />')?
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

hmpf...

muss es nicht so lauten:

Code: Alles auswählen

import string

string.replace(meintext, "\n", "<br />")
bzw. mfg Olf
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

also die eigentliche syntax sieht so aus:

Code: Alles auswählen

obj_neu.edit(title=der_titel,description=zeile['beschreibung'],answer=zeile['obj_text']+ersteller,sections=zeile['kategorie'])
so und da muss das irgendwie rein mit den zeilenumbrüchen
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

import von string geht net
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
RainBowBender
User
Beiträge: 53
Registriert: Dienstag 6. April 2004, 10:33

Kodjak hat geschrieben:hm das haut nicht so hin wie es da steht kann es sein das es so aussehen muss?

Code: Alles auswählen

meintext.replace('\n','<br />')?
Das muss auch gehen.

Mit

Code: Alles auswählen

meintext.replace('\r\n','<br />')?
meintext.replace('\n','<br />')?
ist man wahrscheinlich auf der sicheren Seite.
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

das funktioniert nicht *kraftvoll gegen den rechner tritt und dem bildschirm ne faust gibt*

aber ich hab noch n problem:
eine db in MySQL hat die Spalte obj_text und in manchen feldern sind links drin.
diese sollen in zope, bzw im plonehelpcenter auch als link angezeigt werden wir http://www.test.de
im mom sind die felder gefüllt wie der link hier nur werden als einfacher text anngezeigt.
wie bekomm ich das so hin das sie im PHC als richtiger link angezeigt werden???
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi Kodjak,

was heisst funktioniert nicht? Fehlermeldung oder was dabei rauskommt wär nett.

Sind die Felder als Links definiert, also enthalten immer die gleichen Felder links, oder kann in den Feldern auch normaler text stehen?
Im ersten Fall mach halt

Code: Alles auswählen

als_link = '<a hef="%(feldname)s" target="_blank">%(feldname)s</a>' % Dict_mit_Feldern
Im Zweiten fall musst du mit einer Regular Expression etwas machen.


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

funktioniert nicht heisst:
keine fehlermeldung, keine zeilenumbrüche

den letzten teil verstteh ich net ganz aber ich werds mal ausprobieren
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

die db ist in mySQL in sofern wäre cool wenn mir einer n sql statement geben kann.
ich dachte so an

Code: Alles auswählen

update tabelle
set text='<a href="text" target="_blank">text</a>'
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

hm also chef mit das mit den links soll ich per hand machen bleibt immer noch das prob mit den zeilenumbrüchen, jungs ich bin verzweifelt!!! :(
*singt "help" von den BEATELS*

also wie gesagt, der fehler ist das ich nichts sehe, also keine veränderung, der text wird immer noch ohne zeilenumbrüche angezeigt obwohl diese ersetzt werden.
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!
Kodjak hat geschrieben: ...der text wird immer noch ohne zeilenumbrüche angezeigt obwohl diese ersetzt werden.
Also die Ersetzung hat funktioniert, oder versteh ich das falsch. Was ich nämlich oft vergesse ist folgendes:

Code: Alles auswählen

text = "halli\r\nhallo"
text.replace("\r\n","<br>")
newtext = text.replace("\r\n","<br>")

print text  # -> halli\r\nhallo
print newtext  # -> halli<br>hallo
Gruß, mawe
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

noch mal der code:

Code: Alles auswählen

answer=zeile['obj_text'].replace('\r\n','<br />')+ersteller
jedoch werden die \r\n nicht ersetzt und somit werden in zope keine zeilenumbrüche gezeigt
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
genrich
User
Beiträge: 91
Registriert: Sonntag 27. Juni 2004, 17:46

Sind denn überhaupt zeilenumbrüche drin???

Könnte man ja mal testen mit

Code: Alles auswählen

if "\n" in Text:
   print "n ist drin!"
if "\r" in Text:
   print "r ist drin!"
if "\r\n" in Text:
   print "rn ist drin!"
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Code: Alles auswählen

answer=zeile['obj_text'].replace('\r\n','\n').replace('\r','\n').replace('\n','<br />')+ersteller
print answer
jetzt is wurscht welche Zeilenumbrüche drinn sind.


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

also das problem haben wir gelöst bekommen! danke für eure hilfe.
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
genrich
User
Beiträge: 91
Registriert: Sonntag 27. Juni 2004, 17:46

Und wie sieht die Lösung nun aus???
Kodjak
User
Beiträge: 24
Registriert: Mittwoch 23. Juni 2004, 08:18
Wohnort: Düsseldorf
Kontaktdaten:

die eigentliche DB war lotus notes basierend und im script welches die DB nach mysql importiert haben wir einfach die zeilenumbrüche mit <br> ersetzt und dann in zope durch \n ersetzt.
ja das war ne aktion hehe!
Zawlazaw zawlazaw, kawlakaw kawlakaw, hier ein wenig da ein wenig!

Jesaja 28,10
Antworten