Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Teilzeichenfolgen zwischen Trennzeichen in PHP effizient extrahieren?

Wie kann ich Teilzeichenfolgen zwischen Trennzeichen in PHP effizient extrahieren?

DDD
Freigeben: 2024-12-17 09:36:25
Original
845 Leute haben es durchsucht

How Can I Efficiently Extract Substrings Between Delimiters in PHP?

Teilzeichenfolgen zwischen Trennzeichen in PHP finden

Entwickler müssen häufig Teilzeichenfolgen extrahieren, die zwischen bestimmten Trennzeichen liegen. PHP bietet eine unkomplizierte Methode, um diese Aufgabe zu erfüllen, ohne auf komplexe reguläre Ausdrücke zurückgreifen zu müssen.

GetInnerSubstring-Funktion

Um den Prozess zu vereinfachen, können PHP-Entwickler die Funktionen strpos und substr nutzen um eine benutzerdefinierte getInnerSubstring-Funktion zu erstellen. So funktioniert es:

  1. Trennzeichenpositionen identifizieren: Die Funktion benötigt zwei Argumente: eine Zeichenfolge ($string) und ein Trennzeichen ($delim). Es verwendet strpos, um das erste und letzte Vorkommen des Trennzeichens innerhalb der Zeichenfolge zu lokalisieren.
  2. Teilzeichenfolge extrahieren: Sobald die Trennzeichenpositionen identifiziert sind, verwendet der Code substr, um die gewünschte Teilzeichenfolge zwischen diesen aufzuteilen Positionen.
  3. Beispielverwendung: Um den Teilstring zwischen zwei Trennzeichen zu extrahieren, rufen Sie einfach $substring auf = getInnerSubstring($string, $delim). Beispielsweise gibt getInnerSubstring($string, „foo“) mit $string = „foo I wanna a cake foo“ „I wanna a cake“ zurück.

Erweiterung auf mehrere Trennzeichen

Die Funktion getInnerSubstring kann erweitert werden, um mehrere Vorkommen desselben Trennzeichens zu verarbeiten und sie in ein Array aufzuteilen. Hier ist der geänderte Code:

function getInnerSubstring($string, $delim) {
    $start_pos = strpos($string, $delim);
    $result = array();
    while ($start_pos !== false) {
        $end_pos = strpos($string, $delim, $start_pos + strlen($delim));
        if ($end_pos === false) break;
        $result[] = substr($string, $start_pos + strlen($delim), $end_pos - $start_pos - strlen($delim));
        $start_pos = strpos($string, $delim, $end_pos);
    }
    return $result;
}
Nach dem Login kopieren

Beispielverwendung:

$string = "foo I like php foo, but foo I also like asp foo, foo I feel hero  foo";

$result = getInnerSubstring($string, "foo");

print_r($result);
// Output: [" I like php ", " I also like asp ", " I feel hero "]
Nach dem Login kopieren

Mit dieser erweiterten Version können Sie ein Array von Teilzeichenfolgen abrufen, die sich zwischen einer beliebigen Anzahl von Trennzeichenvorkommen befinden .

Das obige ist der detaillierte Inhalt vonWie kann ich Teilzeichenfolgen zwischen Trennzeichen in PHP effizient extrahieren?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage