me-too: wordwrap() für utf8?

Beitrag lesen

Hi Ihr Zwei,

Ich hab Dir, um eine ausufernde und ewig dauernde Diskussion zu vermeiden, die Lösung an die im Quelltext sichtbare Adresse geschickt.

Hast du auch das wordwrap() durch etwas Besseres ersetzt? Das zerschnibbelt nämlich Zeichen, die aus mehreren Bytes bestehen. Ein mb_wordwrap() gibt es offensichtlich nicht...

Abgesehen davon, dass es nice wäre to have ein wordwrap() 4 utf8, sollten wir here not mix alle Anforderungen like Kraut & Rüben.

Die Begrenzung in Emails auf "80 Zeichen" Zeilenlänge incl. CrLf stammt aus den Transportregeln für Emails. Das bedeutet also, dass es sich ursprünglich nur um reine ASCCI-Codes mit sieben Bit gehandelt hat, wenn man von Zeichen sprach. Später wurden Oktetts daraus, also Codes mit acht Bit.

Wenn man diese mittelalte Regel (max. 80 "Zeichen" pro Zeile) also auf das mb_mail_wrap() übertragen will, was wir hier eigentlich suchen/bauen wollen, dann muss dieses deshalb nach maximal 78 Bytes einen Zeilenumbruch (CrLf) einfügen, aber bitte nicht innerhalb einer UTF8-Sequenz.

Der Versuch von Fastüx ist irrelevant, da er nicht vorhersehen kann kann, ob immer alle SMTP-Relays mitspielen. Dafür muss man sich an die gültigen Konventionen (RFCs) halten, ggf. auch an ältere. Man weiß ja nicht immer, welchen Weg die Email nimmt.

Idee:

Man könnte den Text in Einzelzeichen (UTF8) in ein Array zerlegen und die Elemente in einer Schleife dann jeweils solange wieder konkatinieren in einen Byte-String, bis gerade nicht 78 Bytes überschritten sind. CrLf hinten dran, nächster Loop. Dazu muss man dan eben str_len() bemühen, um Bytes zu zählen und nicht Zeichen.

Wenn ich nachher noch lange Weile bekomme, versuche ich das mal zu coden.

Wir wissen aber schon, dass dynamische Arrayerzeugung in PHP sehr lange dauert. Vielleicht gibt es da noch eine bessere Lösung. mb_substr() wird vermutlich obnehin benötigt.

LG
me-too

Gruß
Julius

0 127

HTML5 , Formular und Versand mittels PHP

Kralle
  • formulare
  • html
  • php
  1. 2
    me-too
    1. 0
      Kralle
      1. 0
        me-too
      2. 3
        tk
  2. 0

    HTML5 , Formular und Versand mittels PHP, XSS und kontextgerechte Behandlung

    me-too
    • html
    • php
    • xss
    1. 0
      Kralle
      1. 0
        Der Martin
        1. 0
          Kralle
          1. 0
            me-too
      2. 0
        tk
  3. 0
    Raketenfehlersuchtrupp
    1. 0
      Kralle
    2. 0
      Kralle
      1. 0
        Matthias Apsel
      2. 0
        Raketenfehlersuchtrupp
  4. 0
    Kralle
    1. 0
      Der Martin
      1. 0
        Kralle
        1. 0
          Matthias Apsel
          1. 0
            Kralle
            1. 0
              Rolf B
              1. 0
                Kralle
            2. 0
              Raketenfehlersuchtrupp
              1. 0
                Kralle
                1. 0
                  Der Martin
                  1. 1
                    Matthias Apsel
                    • formulare
                    • html
                    1. 0
                      Kralle
                      1. 0
                        tk
                      2. 0
                        Raketenfehlersuchtrupp
                    2. 0
                      Der Martin
                      1. 0
                        Julius
                        1. 0
                          Der Martin
                      2. 0
                        Raketenhandbuchvorhleser
                2. 0
                  Raketenfehlersuchtrupp
                  1. 0
                    Kralle
            3. 1
              tk
          2. 0
            Raketenfehlersuchtrupp
            1. 0
              Kralle
              1. 0
                Raketenfehlersuchtrupp
      2. 0
        Raketenfehlersuchtrupp
        1. 0
          Der Martin
          1. 0
            Raketenhandbuchleser
          2. 0
            tk
            1. 0
              Raktenstartbeurteiler
              1. 0
                tk
    2. 0
      Raketenfehlersuchtrupp
  5. 3
    Matthias Apsel
    • meinung
    • sicherheit
    1. 1
      Der Martin
      1. 0
        Raketenfehersuchtrupp
      2. 0
        Kralle
        1. 0
          Matthias Apsel
          1. 0
            me-too
        2. 0
          Raktenhistoriker
    2. 0

      HTML5 , Formular und Versand mittels PHP, Medienbruch vermeiden?

      me-too
      • e-mail
      • formulare
      • sicherheit
  6. 0
    Kralle
    1. 0
      Matthias Apsel
      1. 0
        Kralle
      2. 0
        1unitedpower
    2. 0
      Der Martin
      1. 0
        Matthias Apsel
        1. 0
          Tabellenkalk
          1. 0
            Kralle
            1. 0
              Der Martin
              1. 0
                Kralle
                1. 1
                  Der Martin
                  1. 1
                    Raketenpostsystem
                    1. 0
                      Kralle
                      1. 0
                        Raketenpostsystem
                        1. 0
                          Kralle
                          1. 0
                            Julius
                      2. 0
                        Der Martin
                        1. 0
                          Kralle
                          1. 0
                            Der Martin
                          2. 0
                            Julius
                            1. 0
                              Kralle
                              1. 0
                                Julius
                                1. 0
                                  Kralle
                                  1. 0
                                    Tabellenkalk
                                    1. 0
                                      Der Martin
                                      1. 0
                                        Raketenwilli
                                      2. 0
                                        Kralle
                                    2. 0
                                      Kralle
                                      1. 0
                                        Der Martin
                                        1. 0
                                          Kralle
                                          1. 0
                                            tk
                                          2. 0
                                            Der Martin
                                            1. 1
                                              Kralle
                                              1. 0
                                                Der Martin
                                                1. 0
                                                  klawischnigg
                                                  1. 0
                                                    Der Martin
                                                    • menschelei
                                                    1. 0
                                                      Matthias Apsel
                                                      1. 0
                                                        Robert B.
                                                    2. 0
                                                      Robert B.
                                                      1. 0
                                                        MudGuard
                                                        1. 1
                                                          Robert B.
                                                          1. 0

                                                            Kopierer, Versicherung, txt→pdf→txt

                                                            Raketenclown
                                                            • humor
                                                            • menschelei
                                          3. 1
                                            Julius
                                          4. 0

                                            Wohl gelöst.

                                            Raketenwilli
                                            1. 0
                                              Matthias Apsel
                                            2. 2
                                              Julius
                                              1. 1
                                                Der Martin
                                                1. 0
                                                  mb_wordwrap für Grobmotoriker
                                                2. 0
                                                  Raketenwilli
                                              2. 1
                                                Raketenwilli
                                                1. 0

                                                  Mails mit mb_send_mail und Zeilenlängen - Ist wordwrap notwendig?

                                                  Raketentestpilot
                                              3. 0

                                                wordwrap() für utf8?

                                                me-too
                                                • e-mail
                                                • internet
                                                • php
                                                1. 0

                                                  wordwrap() für utf8? - Nein! Das wird von mb_send_mail() mit BASE64 codiert und dann gewrappt!

                                                  Raketentestpilot
                                                  1. 0

                                                    mb_send_mail() und seine Nutzungsvarianten

                                                    me-too
                                                    1. 0
                                                      Der Martin
                                                      1. 0

                                                        Aufbau eines Emails

                                                        Raketenwissenschaftler
                                                        1. 0
                                                          Der Martin
                                                      2. 0
                                                        Raketenwissenschaftler
                                                        1. 0
                                                          Der Martin
                                                          1. 0
                                                            Raketenwissenschaftler
                                                          2. 0
                                                            Raketenwissenschaftler
                                                    2. 0
                                                      Raketenwissenschaftler
                                                    3. 0
                                                      Raketenwissenschaftler
                                      2. 1
                                        Julius
                                        1. 0

                                          HTML5 , Formular und Versand mittels PHP, falsche Dateiendung?

                                          me-too
                                          1. 1
                                            Der Martin
                                            1. 0

                                              Betreff anpassen?

                                              me-too
                                              • ux
                                              • zu diesem forum
                                              1. 1
                                                Julius
                            2. 0
                              LarryWalker
          2. 0
            Der Martin
      2. 0
        Kralle
    3. 0
      Robert B.
      • e-mail