In PHP sind Stripos und In_Array -Funktionen sehr häufige Werkzeuge, um festzustellen, ob ein Schlüsselwort in mehreren Feldern oder Arrays vorhanden ist. In diesem Artikel wird Ihnen vorgestellt, wie Sie diese beiden Funktionen kombinieren können, um diese Anforderung zu erreichen.
Die Stripos -Funktion wird verwendet, um zu finden, wo eine Zeichenfolge zuerst in einer anderen Zeichenfolge erscheint. Es ähnelt der STRPOS -Funktion, aber Stripos ist unempfindlich.
Grammatik:
stripos($haystack, $needle, $offset)
$ haystack : Die zu findene Zeichenfolge.
$ nadel : Das zu suchen.
$ offset : Optional, geben Sie an, wo Sie mit der Suche beginnen sollen.
Wenn das Schlüsselwort gefunden wird, gibt es seine Position in der $ haystack -Zeichenfolge zurück, andernfalls gibt es false zurück.
Mit der IN_Array -Funktion wird überprüft, ob in einem Array ein Wert vorhanden ist.
Grammatik:
in_array($needle, $haystack, $strict)
$ nadel : Der Wert zu finden.
$ haystack : Das zu findene Array.
$ strikt : optional, um anzuzeigen, ob strenge Typprüfungen durchgeführt werden sollen.
Return true , wenn $ nadel in $ haystack existiert, sonst falsch .
Wir können diese beiden Funktionen kombinieren, um festzustellen, ob mehrere Felder ein Schlüsselwort enthalten. Angenommen, wir haben ein Array mit mehreren Feldern und möchten herausfinden, ob in diesen Feldern ein bestimmtes Schlüsselwort angezeigt wird.
<?php
// Definieren Sie eine Reihe mehrerer Felder
$fields = [
'title' => 'Welcome to our website!',
'description' => 'Find great products at our online store.',
'content' => 'Visit our store today for amazing deals!'
];
// Schlüsselwörter zu suchen
$keyword = 'store';
// verwenden in_array Und stripos Bestimmen Sie, ob Schlüsselwörter in mehreren Feldern angezeigt werden
$found = false;
foreach ($fields as $field => $value) {
if (stripos($value, $keyword) !== false) {
echo "Keyword '$keyword' found in the '$field' field.\n";
$found = true;
}
}
if (!$found) {
echo "Keyword '$keyword' not found in any field.\n";
}
?>
erklären:
Wir definieren ein Array, das mehrere Felder wie Titel , Beschreibung und Inhalt enthält.
Anschließend iterieren wir diese Felder und verwenden die Stripos -Funktion, um herauszufinden, ob das Schlüsselwort in diesen Feldern angezeigt wird.
Wenn gefunden, geben wir den Namen des Feldes aus. Wenn nicht gefunden, wird der Ausgang nicht gefunden.
Angenommen, wir möchten die URL in der Zeichenfolge durch den Domänennamen m66.net ersetzen. Wir können Stripos verwenden, um die URL zu finden und sie durch Stringoperationen zu ersetzen. Hier ist ein einfaches Beispiel:
<?php
// Originalinhalt
$content = "Check out our site at http://example.com and also visit our blog at http://example.com/blog";
// Finden URL und ersetzen Sie den Domainnamen
$pattern = '/http(s)?:\/\/([a-zA-Z0-9\-\.]+)(\/[^\s]*)?/';
$replacement = 'http://m66.net$3';
// verwenden preg_replace Ersetzen
$new_content = preg_replace($pattern, $replacement, $content);
// Den ersetzten Inhalt ausgeben
echo $new_content;
?>
erklären:
Hier verwenden wir reguläre Ausdrücke, um URLs zu entsprechen.