Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich mit PHP einen String effizient nach mehreren Teilstrings durchsuchen?

Wie kann ich mit PHP einen String effizient nach mehreren Teilstrings durchsuchen?

Susan Sarandon
Freigeben: 2024-12-15 03:15:10
Original
980 Leute haben es durchsucht

How Can I Efficiently Search a String for Multiple Substrings Using PHP?

Verwenden eines Arrays zum Suchen von Strings mit strpos

Die strpos-Funktion wird häufig verwendet, um die Position eines Teilstrings innerhalb eines Strings zu lokalisieren. Allerdings kann es manchmal nützlich sein, mithilfe einer Reihe von Nadeln gleichzeitig nach mehreren Teilzeichenfolgen zu suchen.

Das Problem

Leider ist dies mit der Standardimplementierung von strpos nicht möglich eine Reihe von Nadeln passieren. Der Versuch, dies zu tun, führt, wie im bereitgestellten Beispiel gezeigt, zu unbefriedigenden Ergebnissen.

Die Lösung

Glücklicherweise kann eine benutzerdefinierte Funktion erstellt werden, um die Funktionalität zu erweitern von Strpos und nehmen Arrays von Nadeln auf. Der folgende Codeausschnitt, inspiriert von Beiträgen der PHP-Community, bietet eine Lösung:

function strposa(string $haystack, array $needles, int $offset = 0): bool 
{
    foreach($needles as $needle) {
        if(strpos($haystack, $needle, $offset) !== false) {
            return true; // stop on first true result
        }
    }

    return false;
}
Nach dem Login kopieren

Verwendung

Um diese Funktion zu nutzen, können Sie den Haystack-String übergeben , das Nadelarray und ein optionaler Offset als Parameter. Zum Beispiel:

$string = 'This string contains word "cheese" and "tea".';
$array  = ['burger', 'melon', 'cheese', 'milk'];
var_dump(strposa($string, $array)); // will return true, since "cheese" has been found
Nach dem Login kopieren

Dadurch wird die Zeichenfolge nach dem Vorhandensein einer der Nadeln im Array durchsucht. Wenn eine Nadel gefunden wird, gibt die Funktion „true“ zurück und stoppt die weitere Iteration.

Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP einen String effizient nach mehreren Teilstrings durchsuchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage