Extrahieren der Anfangswörter einer Zeichenfolge
Problem:Beschränken Sie den Textinhalt, indem Sie nur eine bestimmte Anzahl von Wörtern aus einer Zeichenfolge extrahieren.
Lösung:Verwenden Sie den folgenden Ansatz:
Verwenden Sie implode() und array_slice()
<code class="php">implode(' ', array_slice(explode(' ', $sentence), 0, 10));</code>
Nach dem Login kopieren
- Teilen Sie die Zeichenfolge in ein Array von auf Wörter mit explosion().
- Slice das Array, um nur die gewünschte Anzahl von Wörtern beizubehalten (in diesem Fall 10).
- Füge das segmentierte Array mit implode() wieder zu einem String zusammen.
Verwendung von preg_match() zur erweiterten Anpassung der Worttrennung
<code class="php">function get_words($sentence, $count = 10) {
preg_match("/(?:\w+(?:\W+|$)){0,$count}/", $sentence, $matches);
return $matches[0];
}</code>
Nach dem Login kopieren
- Diese Funktion verwendet reguläre Ausdrücke, um Gruppen von Wortzeichen (w) zuzuordnen, die möglicherweise durchsetzt sind Nicht-Wort-Zeichen (W) oder das Ende der Zeile ($).
- Der Quantifizierer {0,$count} beschränkt Übereinstimmungen auf die gewünschte Anzahl von Wörtern.
- Die Funktion gibt die zurück passende Wörter als einzelne Zeichenfolge.
UTF-8/Unicode-Handhabung
Die integrierten Funktionen von PHP verarbeiten UTF-8/Unicode-Zeichen möglicherweise nicht optimal. Um dieses Problem zu beheben:
- Ersetzen Sie w durch 1 für Wortzeichen.
- Ersetzen Sie W durch [s,.;?!] für Nicht-Wort-Zeichen.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich eine bestimmte Anzahl von Wörtern aus einer Zeichenfolge in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!