Die anderen Antworten zeigen Ihnen, wie Sie den Text grob 340 Zeichen machen können. Wenn das für Sie in Ordnung ist, verwenden Sie eine der anderen Antworten.
Wenn Sie jedoch ein sehr striktes Maximum von 340 Zeichen wünschen, funktionieren die anderen Antworten nicht. Sie müssen daran denken, dass das Hinzufügen von '...'
die Länge der Zeichenfolge erhöhen kann, und Sie müssen dies berücksichtigen.
Beachten Sie auch, dass ich hier die Überladung von strrpos
verwende, die einen Offset verwendet, um direkt an der richtigen Stelle in der Zeichenfolge zu suchen, anstatt zuerst die Zeichenfolge zu verkürzen.
Sehen Sie, wie es online funktioniert: ideone
Es sieht so aus, als würden Sie zuerst den Text auf 340 Zeichen genau abschneiden, dann die Position des letzten '' in der Zeichenfolge finden und auf diesen Betrag reduzieren. So:
%Vor%Ich gebe die Antwort von John Conde in einer Methode an:
%Vor%Beispiele:
%Vor%Sie können versuchen, Funktionen, die mit PHP geliefert werden, wie Wordwrap
zu verwenden %Vor%Warum so?
Aktuelle regex Lösung ist sehr einfach:
%Vor%Die vollständige Methode in PHP könnte so aussehen:
%Vor%Weitere Erklärung:
$shownLength
ist sehr strikt einzuhalten (wie Mark Byers erwähnt) \w\b
part soll Leerzeichen oder Interpunktion am Ende vermeiden (siehe 1 unten) In the ...
als gewünscht beschrieben wird, fühle ich In the...
ist glatter (auch nicht wie In the,...
etc.)