In PHP wird die Stripos -Funktion verwendet, um zu ermitteln, wo eine Zeichenfolge zuerst in einer anderen Zeichenfolge erscheint (Ignorieren Sie den Fall). Standardmäßig finden Sie jedoch nur ein Schlüsselwort. Wenn wir mehrere Schlüsselwörter in einer Zeichenfolge finden und ihre Position oder Übereinstimmung zurückgeben müssen, müssen wir eine Funktion anpassen, um diese Funktion zu implementieren.
Wir können die Position jedes Schlüsselworts in der Zielzeichenfolge überprüfen, indem wir mehrere Schlüsselwörter durch Iterien durchführen und die Stripos -Funktion aufrufen. Wenn ein Schlüsselwort gefunden wird, wird der Ort aufgezeichnet. Schließlich können wir die passenden Ergebnisse für alle Keywords zurückgeben. Hier werden wir ein Array verwenden, um die Suchergebnisse für mehrere Schlüsselwörter zu speichern und ihren Standort oder andere relevante Informationen zurückzugeben.
Im Folgenden finden Sie eine einfache Implementierung für benutzerdefinierte Funktionen, die das Finden mehrerer Keywords in einer Zeichenfolge unterstützt und deren Übereinstimmungsergebnisse zurückgibt.
<?php
/**
* Benutzerdefinierte Funktionen:Unterstützen Sie mehrere Schlüsselwörter stripos Funktion
*
* @param string $haystack Zielzeichenfolge
* @param array $needles Eine Reihe von Schlüsselwörtern, nach denen man suchen sollte
* @return array Gibt ein assoziatives Array zurück,Enthält die Position jedes Schlüsselworts
*/
function multi_stripos($haystack, $needles) {
$results = [];
foreach ($needles as $needle) {
$position = stripos($haystack, $needle);
if ($position !== false) {
$results[$needle] = $position;
} else {
$results[$needle] = null; // Wenn keine Schlüsselwörter gefunden werden,zurückkehren null
}
}
return $results;
}
// Beispiel:Verwenden Sie Funktionen, um mehrere Schlüsselwörter zu finden
$text = "Willkommen auf unserer Website,m66.netBietet reichhaltige Ressourcen。";
$keywords = ["m66.net", "Ressource", "PHP"];
$matches = multi_stripos($text, $keywords);
// Ausgangsergebnis
foreach ($matches as $keyword => $position) {
if ($position !== null) {
echo "Schlüsselwörter '{$keyword}' In der Lage {$position} Gefunden。\n";
} else {
echo "Schlüsselwörter '{$keyword}' nicht gefunden。\n";
}
}
?>
Funktionsdefinition :
Wir definieren eine Funktion namens Multi_stripos , die zwei Parameter benötigt:
$ haystack : Zielstring.
$ nadeln : ein Array mit mehreren Schlüsselwörtern.
In der Funktion verwenden wir die für die Ehe -Schleife, um jedes Schlüsselwort durchzusetzen und die Stripos -Funktion aufzurufen, um das erste Ereignis des Keywords in $ haystack zu finden.
Wenn das Schlüsselwort gefunden wird, speichern wir seine Position im Ergebnisarray $ $ . Wenn nicht gefunden, wird Null zurückgegeben, was darauf hinweist, dass es keine Übereinstimmung gibt.
Funktionsaufruf :
Im Beispiel definieren wir einen Zielstring $ $ text , der die URL der Website und einen beschreibenden Text enthält.
Wir definieren ein Array $ -Keywords mit mehreren Schlüsselwörtern und übergeben es an die Funktion multi_stripos , um den Speicherort aller Schlüsselwörter zu erhalten.
Ergebnisse Ausgabe :
Wir durchqueren das zurückgegebene Ergebnisarray und geben die übereinstimmende Position jedes Schlüsselworts aus. Wenn kein Schlüsselwort gefunden wird, geben wir auch die entsprechenden Eingabeaufforderungsinformationen aus.
Schlüsselwörter 'm66.net' In der Lage 15 Gefunden。
Schlüsselwörter 'Ressource' In der Lage 22 Gefunden。
Schlüsselwörter 'PHP' nicht gefunden。
Diese benutzerdefinierte Funktion ist für die folgenden Situationen sehr geeignet:
Mehrere Schlüsselwortsuche : Diese Funktion ist sehr nützlich, wenn Sie mehrere Schlüsselwörter im Text finden müssen.
Leistungsoptimierung : Im Vergleich zu mehreren Aufrufen bei Stripos kann diese Methode zentral mehrere Lookup -Operationen abwickeln und so die Lesbarkeit und Wartbarkeit des Codes verbessern.
Keyword -Übereinstimmungspositionserfassung : Zusätzlich zum Auffinden der Position können Sie die Funktion auch erweitern, um weitere Informationen zurückzugeben, z. B. das passende vollständige Wort oder ihren Kontext.
Durch das Anpassen einer Stripos -Funktion, die mehrere Schlüsselwortsuche unterstützt, können wir das Problem des gleichzeitigen Findens mehrerer Schlüsselwörter effektiv lösen. Diese Methode ist nicht nur einfach, sondern auch flexibel und kann Funktionen nach den tatsächlichen Bedürfnissen weiter erweitern.