Strings mit Füllzeichen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Strings mit Füllzeichen

    Hallo,

    ich versuche grad ein Inhaltsverzeichnis zu realisieren. Dabei sollen die Texte mit Punkten aufgefüllt werden, aber so, dass die Gesamtlänge immer gleich bleibt:

    Kapitel 1.............1
    Kapitel 2.............2
    Sonstiges...........3 //problem

    Hab mir schon str_pad angeguckt, aber das ist noch nicht ganz, wonach ich suche. Kann mir jemand helfen?

  • #2
    Was genau ist dein Problem?

    EDIT:
    Auf die Schriftart kann PHP (-> Serverseitig) natürlich keinen Einfluss nehmen. Ist das dein Problem?


    Alternativ:
    1) Nutzwortlänge zählen: strlen()
    2) mit str_repeat() die Füllzeichen einfügen.
    Zuletzt geändert von TobiaZ; 09.09.2012, 18:43.

    Kommentar


    • #3
      Da wird Dir wohl nichts anderes übrig bleiben, als eine eigene Funktion zu schreiben. Erst die Anzahl der Zeichen des ursprünglichen Strings zählen und dann die Menge an Zeichen ermittelnt, die bis zur Anzahl n noch fehlen. Ganz einfache Mathematik.

      Siehe Dir dazu auch die Funktion strlen() im Manual an. Mehr brauchst Du eigentlich nicht, um immer die gleiche Anzahl an Zeichen für einen String zu generieren.

      PS: TobiaZ hat Dir die benötigten Funktionen auch schon genannt. Der Sonntag-Chill-Modus verführt zur Langsamkeit. ^^
      MM Newmedia | MeinBlog

      Kommentar


      • #4
        Zitat von TobiaZ Beitrag anzeigen
        Auf die Schriftart kann PHP (-> Serverseitig) natürlich keinen Einfluss nehmen. Ist das dein Problem?
        Jep, das ist es. Die Anzahl der Charakter bringt mir nicht viel, da die einzelnen Buchstaben unterschiedlich lang sind. Das heutzutage sowas noch so kompliziert ist...

        Kommentar


        • #5
          Das hat nicht mit heutzutage zu tun...

          PHP ist es schlichtweg egal, wie breit ein Buchstabe auf dem Client ist. Das gehört nicht zur Aufgabe des Interpreters. Das wird sich vermutlich auch in 100 Jahren nicht geändert haben...

          Aber wenn dir das wichtig ist (was ich jetzt gerade nicht nachvollziehen kann), dann kannst du ja für jeden Buchstaben eine "Breite" festlegen. Dann sollte es ein leichtes sein, das die gesamtbreite zu ermitteln und die Anzahl der Füllzeichen entsprechend zu ermitteln.

          Alternativ: Verwende eine Font mit fixer Buchstabenbreite.
          Alternativ2: Generiere die Füllzeichen Clientseitig (CSS oder JS).

          Kommentar


          • #6
            Danke erstmal für eure Antworten. Sollte ich es so nicht hinbekommen, werd ich wohl auf eine Font mit fester Buchstabenbreite zurückgreifen.

            Kommentar


            • #7
              Zitat von olli9000 Beitrag anzeigen
              Hallo,

              ich versuche grad ein Inhaltsverzeichnis zu realisieren. Dabei sollen die Texte mit Punkten aufgefüllt werden, aber so, dass die Gesamtlänge immer gleich bleibt:

              Kapitel 1.............1
              Kapitel 2.............2
              Sonstiges...........3 //problem
              Da hier niemand auf imagettfbbox() zur Ermittlung der grafischen Abmessungen eines Textes hingewiesen hat, vermute ich, dass du dieses Inhaltsverzeichnis in HTML erstellen möchtest. Da bietet es sich an, auf die komischen Punkte zu verzichten und eine Tabelle zu verwenden. Alles andere wäre "ASCII-Art", und die funktioniert halt nur mit Fixed-Width-Fonts (Schriftarten mit fester Buchstabenbreite).
              Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

              Kommentar


              • #8
                Jep. Naja mein Ziel ist es, dieses Inhaltsverzeichnis in ein JPG Bild zu schreiben.
                Meine Lösung war jetzt halt eine Monospace Font.

                Kommentar


                • #9
                  Naja mein Ziel ist es, dieses Inhaltsverzeichnis in ein JPG Bild zu schreiben.
                  Dieses nicht ganz unwesentliche Detail hättest du ja spätestens mal erwähnen können, nachdem ich davon gesprochen habe, dass PHP keine Einfluss auf die Darstellung beim Client hat. Das sieht bei Bildern natürlich ganz anders aus.

                  Kommentar


                  • #10
                    Nobody is perfect.

                    Kommentar

                    Lädt...
                    X