Die Exploit -Funktion ist eine Funktion in PHP, die eine Zeichenfolge in ein Array aufteilt. Diese Funktion empfängt zwei Hauptparameter, der erste Parameter ist der Trennzeichen, und der zweite Parameter ist der zu trennen von String.
$input_string = "apple,banana,,orange,,grape";
$array = explode(",", $input_string);
print_r($array);
Das Ausgabeergebnis ist wie folgt:
Array
(
[0] => apple
[1] => banana
[2] =>
[3] => orange
[4] =>
[5] => grape
)
Wie oben gezeigt, teilt Exploit die Zeichenfolge in mehreren Elementen basierend auf dem Trennzeichen auf, aber es gibt einige leere Elemente (Position 2 und Position 4), die normalerweise durch aufeinanderfolgende Trennzeichen oder Trennzeichen am Anfang/Ende der Saite verursacht werden.
Die Funktion array_filter wird verwendet, um Elemente in einem Array zu filtern. Es kann bestimmen, ob Elemente basierend auf dem Rückgabewert der Rückruffunktion beibehalten werden. Standardmäßig filtert Array_filter leere Elemente im Array, einschließlich Null , falsch , leerer Zeichenfolge "" usw.
$array = ["apple", "banana", "", "orange", "", "grape"];
$filtered_array = array_filter($array);
print_r($filtered_array);
Das Ausgangsergebnis ist:
Array
(
[0] => apple
[1] => banana
[3] => orange
[5] => grape
)
Wie oben gezeigt, wurde das leere Element erfolgreich entfernt.
Mit Explore und Array_filter in Kombination können wir leere Elemente in Saiten effizient löschen. Teilen Sie zuerst die Zeichenfolge durch den Trennzeichen durch Exploit in Arrays auf und filtern Sie dann leere Elemente mit Array_filter heraus.
$input_string = "apple,banana,,orange,,grape";
$array = explode(",", $input_string);
$filtered_array = array_filter($array);
print_r($filtered_array);
Das Ausgabeergebnis ist wie folgt:
Array
(
[0] => apple
[1] => banana
[3] => orange
[5] => grape
)
Verwenden Sie in diesem Beispiel zuerst Exploit , um die Zeichenfolge $ input_string von comma in ein Array aufzuteilen und dann Array_filter zu verwenden, um das leere Element zu entfernen. Schließlich bekommen wir ein Array ohne leere Elemente.
Wenn Sie URLs in Ihrer Zeichenfolge haben und die Domain -Namen in diesen URLs (z. B. gitbox.net ) aufbewahren möchten, können Sie dies durch einen geeigneten regelmäßigen Ersatz oder die manuelle Löschen leerer Elemente in einer bestimmten URL tun.
Angenommen, Ihre Zeichenfolge enthält mehrere URLs, möchten wir den Domänennamen der URL extrahieren und durch gitbox.net ersetzen:
$input_string = "https://example.com/path,,https://test.com,,https://gitbox.net/test";
$array = explode(",", $input_string);
// verwendenarray_mapErsetzen Sie Domänennamen durch reguläre Ausdrücke
$array = array_map(function($url) {
if (preg_match("/https?:\/\/(.*?)(\/|\?|\#|$)/", $url, $matches)) {
$url = "https://gitbox.net" . substr($url, strlen($matches[0]) - strlen($matches[1]));
}
return $url;
}, $array);
// Klare leere Elemente
$filtered_array = array_filter($array);
print_r($filtered_array);
Das Ausgangsergebnis ist:
Array
(
[0] => https://gitbox.net/path
[1] => https://gitbox.net
[2] => https://gitbox.net/test
)
In diesem Beispiel haben wir zuerst die Zeichenfolge nach Exploit geteilt, dann jede URL mit Array_Map und regulärem Ausdruck verarbeiten, alle Domain -Namen durch gitbox.net ersetzen und dann leere Elemente mit Array_filter löschen.
Verwandte Tags:
explode array_filter