Wie erfasse ich komplette Wörter mit substr () in PHP, Wort für Wort?

8

Wenn ich substr($string,0,100) verwende, gibt es die ersten 100 Zeichen. Manchmal hat es das letzte Wort unvollständig hinterlassen. Das sieht merkwürdig aus. Kann ich per Wort statt durch Buchstaben sprechen?

    
nectar 21.08.2010, 16:04
quelle

7 Antworten

15

Wenn Sie nur die Wörter zählen, kann der resultierende Stich sehr lang sein, da ein einzelnes Wort 30 Zeichen oder mehr haben kann. Ich würde stattdessen vorschlagen, den Text auf 100 Zeichen abzuschneiden, außer wenn dies dazu führt, dass ein Wort gekürzt wird, dann sollten Sie auch den abgeschnittenen Teil des Wortes entfernen. Dies wird durch diese verwandte Frage abgedeckt:

Wie schneidet man eine Zeichenfolge in PHP auf das Wort ab, das einer bestimmten Anzahl von Zeichen am nächsten ist?

Verwenden Sie wordwrap

%Vor%

Dies ist eine modifizierte Version der Antwort hier . Wenn der Eingabetext sehr lang sein kann, können Sie diese Zeile vor dem Aufruf von wordwrap hinzufügen, um zu vermeiden, dass wordwrap den gesamten Text analysiert:

%Vor%

Verwenden eines regulären Ausdrucks (Quelle)

%Vor%     
Mark Byers 21.08.2010, 16:08
quelle
3
%Vor%     
Scott Evernden 21.08.2010 16:27
quelle
1

Versuchen Sie einen einzelnen Zeilencode

%Vor%     
Govind Totla 15.06.2013 08:07
quelle
0

Ich würde etwas tun wie:

%Vor%

Beginne einfach an einem Punkt ($ len) und bewege eine bestimmte Anzahl von Zeichen ($ i) nach einem brechenden Zeichen (z. B. Leerzeichen). Sie können auch rückwärts (- $ i) oder in beide Richtungen schauen, je nachdem, was Sie suchen.

    
Matthew 21.08.2010 16:12
quelle
0
%Vor%     
amateur barista 09.12.2010 16:49
quelle
0

Dies ist eine Lösung, die der von Scott Evernden sehr ähnlich ist, aber auch funktioniert, wenn das Zeichen | zufällig in der Zeichenfolge auftritt:

%Vor%     
Peter 07.03.2016 10:22
quelle
0

Ich habe dieses einfache versucht und es funktionierte für mich

%Vor%     
Shuhad zaman 04.03.2017 11:29
quelle

Tags und Links