Удалите разрывы строк из файла JS при записи его с помощью PHP - PullRequest
0 голосов
/ 19 февраля 2019

Итак, мой файл 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(), но безуспешно.Любые предложения о том, что я должен попробовать дальше?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Поскольку я использовал File () для получения файла в массиве, он автоматически помещает новую строку (aka \ n) после переменной, а когда она записывается в новый файл, она переходит на следующую строку.Способ обойти это:

$lines = file($myFile, FILE_IGNORE_NEW_LINES);

Атрибут FILE_IGNORE_NEW_LINES пропускает символ новой строки в конце каждого элемента массива.И поэтому вам не нужно, чтобы код переходил на следующую строку, скорее, он будет оставаться на одной строке.

0 голосов
/ 19 февраля 2019

попробуйте это - PHP fwrite новая строка

или добавьте для всех строк \ r \ n в конце fwrite

fwrite($fp, $line . "\r\n");
...