将文件内容转换为JavaScript数组

时间:2012-12-02 16:36:10

标签: php javascript arrays

所以我知道file()会将每一个新行都返回到数组中。

$plugins = file("plugins.txt");
foreach($plugins as $plugin) {
    echo $plugin;
 }

返回

item1 item2 item3

在一行中。虽然,我知道PHP认为它是一个数组,JS没有,如果我将上面的PHP脚本转换为函数然后执行:

var pluginsList = <?php echo filetoArray(); ?>;

在控制台中返回

var pluginsList = item1 item2 item3

虽然我希望:

var pluginsList = [item1,item2,item3];

我如何确保它可以重新输入数组,以便JS可以读取?

编辑: 所以多亏了答案,我终于得到了一个数组。但它会像这样返回:

["item1\r\n","item2\r\n","item3\r\n","item4"]

虽然,我希望删除\ r \ n。到目前为止我所拥有的:str_replace没有做任何事情,它是一样的。

    $plugins = file("plugins.txt");
    $plugins = json_encode($plugins);
    $plugins = str_replace("\n\r", "", $plugins);
    echo $plugins;

1 个答案:

答案 0 :(得分:4)

这很简单:

$plugins = file("plugins.txt");
$plugins = str_replace(array("\r\n", "\r", "\n"), '', $plugins);
$output = json_encode($plugins);
print $output;