Text kürzen?
-
Hi,
ich habe einen String, der sehr lang ist!
Ich möchte ihn ab der 256. stelle kürzen! Also alles was dahinter ist abschneiden.
Wie mache ich das? Ich benutze PHP
-
substr()
-
Richtig. Mit substr().
-
Oder noch cooler mit pregs:
preg_replace("/(.{0,$a})((\s)|\$)(?(2).*)/sA", "\\1$b", $c, 1);
Der schneidet nur nach ganzen Wörtern ab.
Die Variablen wurden etwas unverständlich gewählt, damit auch noch eigene Denkarbeit übrig bleibt.
-
Und was machst du, wenn das 1000 Buchstaben sind, ohne Leerzeichen?
-
.............. schrieb:
Und was machst du, wenn das 1000 Buchstaben sind, ohne Leerzeichen?
Dann ist der String leer. Weil das nächste Wort verständlicherweise erst nach 1000 Zeichen zuende ist. Es war ja nur ein Beispiel...
-
Und ich habe nur eine Frage gestellt
Ich glaub substr macht sich hier besser...
-
Kommt immer auf den Fall an. Aber wenn du irgendwann mal nur nach ganzen Wörtern abschneiden willst, weißt du, an wen du dich vertrauensvoll wenden kannst.
-
Dasd: Ich finde das ein wenig zuviel Overhead für so eine simple Aufgabe, aber naja... Kanonen auf Spatzen.
-
In diesem Falle könnte man auch einfach noch nach dem substr mit strrchr nach dem letzten Leerzeichen suchen und dann ggf. noch die Zeichen dahinter abschneiden - ob das allerdings dann wirklich schneller ist, weiß ich auch nicht (denke aber schon)
-
Womit du aber Zeilenumbrüche aufs Schändlichste vernachlässigen würdest.
Es ging auch darum eine möglichst einfache inline-Lösung für dieses Problem zu haben. Sonst könnte man auch alá Smarty mit einer Schleife rangehen.