Bestimmte Wörter aus einer Textzeichenfolge extrahieren
Frage:
Wie kann ich die einschränken Anzahl der von einer Textzeichenfolge zurückgegebenen Wörter? Ich möchte zum Beispiel nur die ersten 10 Wörter erhalten.
Antwort:
Um nur die ersten N Wörter aus einer Zeichenfolge abzurufen, können Sie verschiedene Methoden in verwenden PHP. Lassen Sie uns ein paar Optionen erkunden:
Implodieren mit Array Slice:
Dieser Ansatz nutzt die Funktionen implode() und array_slice(), um das gewünschte Ergebnis zu erzielen:
<code class="php">$sentence = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."; $words = implode(' ', array_slice(explode(' ', $sentence), 0, 10)); echo $words; // Output: "Lorem ipsum dolor sit amet consectetur adipiscing elit"</code>
Preg_match-Methode:
Die Funktion preg_match() bietet eine flexiblere Lösung und ermöglicht die Unterstützung anderer Wortumbrüche wie Kommas oder Bindestriche:
<code class="php">function get_words($sentence, $count = 10) { preg_match("/(?:\w+(?:\W+|$)){0,$count}/", $sentence, $matches); return $matches[0]; } $sentence = "Lorem ipsum, dolor sit-amet, consectetur adipiscing elit."; echo get_words($sentence); // Output: "Lorem ipsum dolor sit-amet"</code>
Umgang mit Unicode und UTF-8:
Beachten Sie, dass die Standard-Worttrennzeichenmuster von PHP UTF-8-Zeichen nicht berücksichtigen. Wenn in Ihren Zeichenfolgen Unicode- und UTF-8-Zeichen erwartet werden, können Sie die Muster nach Bedarf anpassen:
<code class="php">$pattern = "/[^\s,\.;\?\!]+([\s,\.;\?\!])?{0,$count}/u";</code>
Das obige ist der detaillierte Inhalt vonWie extrahiere ich eine bestimmte Anzahl von Wörtern aus einer Textzeichenfolge in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!