最简单的方法是获取一些看起来像这样的$ _POST textinput数据:
Array
(
[0] => string() "The Black Keys - Gold On the Ceiling
Angeline - Blackout
Allele - Closure
etc"
)
把它变成这个:
Array
(
[0] => string() 'artist:"The Black Keys" track:"Gold On the Ceiling"'
[1] => string() 'artist:"Angeline" track"Blackout"'
[2] => string() 'artist:"Allele" track"Closure"'
etc
)
答案 0 :(得分:3)
您应该使用explode()
。然后,如果您愿意,可以将其传递到list()
。这样的事可能适合你:
$lines = explode('\n', $_POST['textinput']);
for($i = 0; $i < count($lines); $i++) {
list($artist, $track) = explode(' - ', $lines[$i]);
$processed_line = Array('artist' => $artist, 'track' => $track);
$lines[$i] = $processed_line;
}
var_dump($lines); // Should output something like the example in your question
答案 1 :(得分:3)
您只需使用explode即可实现此目的。
行动准则:eval.in
$string = "The Black Keys - Gold On the Ceiling
Angeline - Blackout
Allele - Closure
etc";
print $string;
$exploded_string = explode("\n",$string);
foreach($exploded_string as $child_string){
$array = explode(" - ",$child_string);
$output[]= "artist:\"".trim($array[0])."\" track:\"".trim($array[1])."\"";
}
print_r($output);
希望这会有所帮助。
答案 2 :(得分:0)
var_dump
可能就是你要找的东西。 explode
和implode
非常方便