使用 php 编写 js 文件时删除换行符

Remove line breaks from a js file when writing it with php

所以我的 javascript 文件是空白的。我使用 php 写入其中。 我从我的数据文件中提取行并在文本中使用它们。

这是PHP:

<?php
$myFile = "datafile.txt";
$lines = file($myFile);
$line0 = $lines[0]; //Linija 1
$line1 = $lines[1]; //Linija 2
$line2 = $lines[2]; //Linija 3
$line3 = $lines[3]; //Linija 4
$line4 = $lines[4]; //Linija 5
$line5 = $lines[5]; //Linija 6
$line6 = $lines[6]; //Linija 7

$empty = "\n\n";
$hex = 'var '.$line4.' = "<button class="provjeri" onclick="'.$line1.'()">PROVJERI</button> <button class="rijesi" onclick="'.$line2.'()">RIJEŠI</button>";';


$fp = fopen("js/rijesenja.js", "a");
fwrite($fp, $hex);
fwrite($fp, $empty);
fclose($fp);

这是datafile.txt:

1
geo1
a1
isprava1
gumbi1
alfa1
ponovi1

我需要这样的输出:

var gumbi1= "<button class="provjeri" onclick="geo1()">PROVJERI</button> 
<button class="rijesi" onclick="a1()">RIJEŠI</button>";

实际上所有内容都应该放在一行中。

我得到的输出是:

var gumbi1
 = "<button class="provjeri" onclick="geo1
()">PROVJERI</button> <button class="rijesi" onclick="a1
()">RIJEŠI</button>";

似乎是每个变量都打破了这条线。 我试过:

var_dump(preg_match('/^\n|\n$/', $variable));

我也试过:

preg_replace( "/\r|\n/", "", $yourString );

我也尝试了 trim() 命令但没有成功。 关于我接下来应该尝试什么有什么建议吗?

试试这个 - PHP fwrite new line

或在 fwrite

末尾添加所有行 \r\n
fwrite($fp, $line . "\r\n");

因为我使用 File() 获取数组中的文件,它会自动将换行符(又名 \n)放在变量后面,当它写入新文件时会跳到下一行。解决此问题的方法:

$lines = file($myFile, FILE_IGNORE_NEW_LINES);

FILE_IGNORE_NEW_LINES 属性省略了每个数组元素末尾的换行符。 因此,您不会让代码进入下一行,而是将它们全部留在同一行。