Antworten:
explodeist eine Alternative. Wenn Sie jedoch einen regulären Ausdruck aufteilen möchten , ist die Alternative preg_splitstattdessen.
splitakzeptiert die Methode nicht immer reguläre Ausdrücke. In .NET, Python, akzeptieren die String.Split()/ str.split()-Methoden nur eine feste Literalzeichenfolge als Nadel. Somit explodeist richtig. Für diejenigen, die aus Java kommen, könnte JavaScript, Ruby, preg_splitdie Lösung sein.
splitist veraltet, da es Teil der Funktionsfamilie ist, die reguläre POSIX-Ausdrücke verwendet. Diese ganze Familie wird zugunsten der PCRE ( preg_*) - Funktionen abgelehnt .
Wenn Sie die Funktionalität für reguläre Ausdrücke nicht benötigen, explodeist dies eine sehr gute Wahl (und wäre empfohlen worden, splitselbst wenn dies nicht veraltet wäre). Wenn Sie andererseits reguläre Ausdrücke verwenden müssen, ist die PCRE-Alternative einfach preg_split.
preg_split wenn Sie durch reguläre Ausdrücke teilen müssen. str_split wenn Sie nach Zeichen teilen müssen. explode wenn Sie durch etwas Einfaches trennen müssen.Auch für die Zukunft können Sie, wenn Sie jemals wissen möchten, was PHP verwenden soll, wenn etwas veraltet ist, die Funktion im Handbuch jederzeit überprüfen und Ihnen Alternativen aufzeigen.
Ich möchte hier klarstellen, dass dies preg_split();weit davon entfernt explode();ist, aber auf ähnliche Weise wie verwendet werden kannsplit();
Es folgt der Vergleich zwischen split();und explode();Verwendung
<?php
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo $month; // foo
echo $day; // *
echo $year;
?>
URL: http://php.net/manual/en/function.split.php
<?php
$data = "04/30/1973";
list($month, $day, $year) = explode("/", $data);
echo $month; // foo
echo $day; // *
echo $year;
?>
URL: http://php.net/manual/en/function.explode.php
Hier ist, wie wir es verwenden können :)
Sie können stattdessen die einfachere Funktion preg_match verwenden. Sie ist besser und schneller als alle anderen.
$var = "<tag>Get this var</tag>";
preg_match("/<tag>(.*)<\/tag>/", $var , $new_var);
echo $new_var['1'];
Ausgabe: Get this var
Ja, ich würde explodieren verwenden oder Sie könnten verwenden:
preg_split
Welches ist die empfohlene Methode mit PHP 6. preg_split Documentation
Hatte das gleiche Problem, aber mein Code muss sowohl auf PHP 5 als auch auf PHP 7 funktionieren.
Hier ist mein Code, der dieses Problem gelöst hat. Geben Sie ein Datum im dmY-Format mit einem der Trennzeichen "/. -" ein.
<?php
function DateToEN($date){
if ($date!=""){
list($d, $m, $y) = function_exists("split") ? split("[/.-]", $date) : preg_split("/[\/\.\-]+/", $date);
return $y."-".$m."-".$d;
}else{
return false;
}
}
?>
explodeist nicht die Alternative, da es nicht die gleiche Funktion ausführt wiesplit: einen String durch einen regulären Ausdruck zu teilen . Verwenden Sie zu diesem Zweckpreg_split.