3

获取一些 $_POST 文本输入数据的最简单方法是:

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

3 回答 3

3

你应该使用explode(). 然后,您可以根据需要将其传递给 a 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

explode()PHP.net 上有一些优秀的文档list()可供使用。

于 2013-05-27T22:56:00.247 回答
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);

希望这会有所帮助。

于 2013-05-27T22:59:57.743 回答
0

var_dump可能是您正在寻找的。explode而且implode也很方便

于 2013-05-27T22:50:58.787 回答