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));