Ergebnis 1 bis 5 von 5

Thema: ics Import: Zeilenumbrüche

  1. #1
    Contao-Nutzer
    Registriert seit
    08.09.2010.
    Beiträge
    8

    Standard ics Import: Zeilenumbrüche

    Hallo,
    ich betreue die Website einer Schule (http://roentgen-gym.de), auf der Termine, die der Schulleiter unter Windows in Outlook anlegt, angezeigt werden.

    Die Termine werden als ics-Datei abgespeichert und dann mit Hilfe von calendar_ical (Danke für diese Extension!) importiert. Das funktioniert zunächst wie gewünscht. Aber bei längeren Beschreibungen fügt Outlook beim Speichern nach jeweils 74 Zeichen Zeilenumbrüche ein, die in contao dann als <br /> erscheinen und den Text (oft im Wort) ungewollt umbrechen.

    Ich habe versucht die Umbrüche in der Funktion _strunrep() durch die Zeile $string = str_replace( '\n','',$string); zu entfernen, was grundsätzlich funktioniert. An den betreffenden Stellen bleiben dann allerdings Leerzeichen zurück, die ich nicht entfernen konnte.

    Hoffe, da kann mir jemand weiterhelfen...

    Nachtrag: Unter http://www.php.net/manual/en/function.trim.php#93432 habe ich möglicherweise selbst eine Lösung gefunden. Bin noch am testen...
    Geändert von ede_rgw (08.09.2010 um 21:28 Uhr)

  2. #2
    Contao-Fan Avatar von hschottm
    Registriert seit
    15.06.2009.
    Ort
    Loxstedt, Germany
    Beiträge
    825
    User beschenken
    Wunschliste

    Standard

    Hallo ede_rgw,

    jaaa, Outlook mal wieder. Ich schau mir das mal an und werde eine Lösung dafür finden.

    LG,
    Helmut
    Blackmail's such an ugly word. I prefer extortion -- the "x" makes it sound cool.
    -- Bender

  3. #3
    Contao-Fan Avatar von hschottm
    Registriert seit
    15.06.2009.
    Ort
    Loxstedt, Germany
    Beiträge
    825
    User beschenken
    Wunschliste

    Standard

    So,

    es steht eine neue Version im Extension Repository. Ich hoffe mal, dass ich mit dem Versuch, dieses Multiline-Problem zu beheben, nicht andere Probleme geschaffen habe. Das ist doch ein recht diffiziles Konstrukt. Meine Tests mit Outlook, Thunderbird und iCal waren jedenfalls vielversprechend.

    Gruß,
    Helmut
    Blackmail's such an ugly word. I prefer extortion -- the "x" makes it sound cool.
    -- Bender

  4. #4
    Contao-Nutzer
    Registriert seit
    08.09.2010.
    Beiträge
    8

    Standard

    Hallo Helmut,

    danke für die schnelle Hilfe - leider war damit nur ein Teil des Problems behoben. Die ungewollten Zeilenumbrüche waren zwar verschwunden, die Leerstellen blieben aber und gewollte Zeilenumbrüche wurden nicht mehr ausgeführt sondern als \n dargestellt.
    Habe nun folgende provisorische Lösung, die für meine Zwecke funktioniert gefunden und in die Funktion _stunrep($string) integriert:

    Zuerst wandele ich die gewollten Zeilenumbrüche (in Outlook \n\n) in Absätze um, danach entferne ich alle durch Outlook eingefügten Umbrüche (\n) und Tabs:

    $string = str_replace( '\n\n', 'newLine', $string);
    $string = str_replace( 'newLine', '</p><p>', $string);
    $string = str_replace (chr(9),'',$string);
    $string = str_replace( '\n', '', $string);

    Wahrscheinlich geht es eleganter und was das auf andere Importformate für Auswirkungen hat kann ich natürlich auch nicht sagen... Mein Problem ist, soweit ich das bisher überblicke zunächst behoben.

    Grüße
    Frieder

  5. #5
    Contao-Fan Avatar von hschottm
    Registriert seit
    15.06.2009.
    Ort
    Loxstedt, Germany
    Beiträge
    825
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von ede_rgw Beitrag anzeigen
    Hallo Helmut,

    danke für die schnelle Hilfe - leider war damit nur ein Teil des Problems behoben. Die ungewollten Zeilenumbrüche waren zwar verschwunden, die Leerstellen blieben aber und gewollte Zeilenumbrüche wurden nicht mehr ausgeführt sondern als \n dargestellt.
    Habe nun folgende provisorische Lösung, die für meine Zwecke funktioniert gefunden und in die Funktion _stunrep($string) integriert:

    Zuerst wandele ich die gewollten Zeilenumbrüche (in Outlook \n\n) in Absätze um, danach entferne ich alle durch Outlook eingefügten Umbrüche (\n) und Tabs:

    $string = str_replace( '\n\n', 'newLine', $string);
    $string = str_replace( 'newLine', '</p><p>', $string);
    $string = str_replace (chr(9),'',$string);
    $string = str_replace( '\n', '', $string);

    Wahrscheinlich geht es eleganter und was das auf andere Importformate für Auswirkungen hat kann ich natürlich auch nicht sagen... Mein Problem ist, soweit ich das bisher überblicke zunächst behoben.

    Grüße
    Frieder
    Hallo Frieder,

    hmm, das ist aber komisch. In meinen Tests waren weder zusätzliche Leerzeichen noch die \n. Die sollten eigentlich auch alle umgewandelt werden. Es sei denn, PHP interpretiert da meine Ersetzungen unterschiedlich
    Ich schau mir das noch mal an und probiere es auch noch mal mit deinen Ersetzungen.

    LG,
    Helmut
    Blackmail's such an ugly word. I prefer extortion -- the "x" makes it sound cool.
    -- Bender

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •