Ich habe diese Funktion entwickelt, die einen gegebenen String entweder auf die angegebene Anzahl von Wörtern oder auf die angegebene Anzahl von Zeichen verkürzt, je nachdem, was kürzer ist. Dann, nachdem alles nach der Anzahl der Zeichen oder Wörter abgeschnitten wurde, wird ein '...' an die Zeichenkette angehängt.
Wie kann ich Zeichen / Wörter aus der Mitte der Zeichenfolge entfernen und sie durch '...' ersetzen, anstatt Zeichen / Wörter am Ende durch '...' zu ersetzen?
Hier ist mein Code:
%Vor% Wenn zum Beispiel truncate('the quick brown fox jumps over the lazy dog', 8, 16);
aufgerufen wird, sind 16 Zeichen kürzer, so dass die Kürzung erfolgt. Also, 'Fuchs springt über den faulen Hund' wird entfernt und '...' wird angehängt.
Aber stattdessen, wie kann ich die Hälfte des Zeichenlimits vom Anfang des Strings haben und die Hälfte vom Ende des Strings und was wird in der Mitte durch '...' ersetzt? Also, die Saite, auf die ich in diesem Fall zurückkommen möchte, wäre: "der Quatsch ... fauler Hund".