J'ai un problème avec cette chaîne
$numbers= explode("\n",$numbers); $numbers= explode(" ",$numbers); $numbers= explode("<br>",$numbers); $numbers= str_replace("\n", " ", "<br>", $numbers)
Le résultat que je veux est = array ("12312312312312312", "12312312312312312")
etc ... p>
Je veux séparer les entrées à mettre dans la barre, j'ai essayé toutes ces méthodes avec php:
string(313) " 12312312312312312 12312312312312312 12312312312312312 12312312312312312 12312312312312312 12312312312312312 12312312312312312 12312312312312312 12312312312312312 12312312312312312"
3 Réponses :
Vous devez exploser ()
avec une nouvelle ligne ( PHP_EOL
):
$numbers= array_filter(explode(PHP_EOL, $numbers)); // PHP_EOL used for new line print_r($numbers);
Sortie: - https://3v4l.org/0OH4N
Remarque: - array_filter ()
utilisé pour supprimer les index de valeurs vides et nulles du tableau
Remplacez d'abord tout élément de nouvelle ligne par un simple espace, par exemple comme
$numbers = explode(" ",$numbers);
Ensuite, vous pouvez simplement utiliser l'explosion que vous avez déjà essayé:
$numbers = trim(preg_replace('/\s+/', ' ', $numbers));
Après avoir rangé la question, il semble que la chaîne est séparée par NewLine :)
@RiggsFolly le s +
peut également gérer \ n
et \ r
. Je l'ai testé avec le code rangé;)
Vous pouvez initialiser la chaîne dans cet ordre. Cela peut vous aider
$str ="12312312312312312 12312312312312312 12312312312312312 12312312312312312 12312312312312312 12312312312312312 12312312312312312"; var_dump(explode(" ",$str));