2016-02-10 5 views
5

Ich benutze Sublime Texteditor. Ich möchte ein Prestashop-Modul in der validator validieren. Aber es zeigt den Fehler wie End of line character is invalid; expected "\n" but found "\r\n" Diese Zeile des Codes enthält nur <?php. Ich habe gesucht und ersetzt mit "\ r \ n" mit "\ n" von verschiedenen Editoren. Aber es funktioniert überhaupt nicht. Können Sie mir sagen, wie Sie dieses Problem lösen können? Jede Hilfe und Vorschläge werden wirklich spürbar sein. Dankphp validation issue Ende der Zeile Zeichen ist ungültig; erwartet " n" aber gefunden " r n"

Antwort

7

Dies ist ein Betriebssystemproblem. Dies passiert, wenn Sie plattformübergreifend codieren. Betriebssysteme haben unterschiedliche Möglichkeiten, ein Zeilenende zu interpretieren. Hier kann dies helfen:

Convert line endings

Auch Erhabene hat eine Lösung für diese auch. Wenn Sie für Unix kodieren, stellen Sie sicher, dass Sie Ihre Zeilenumbrüche für Unix ändern. View->Line Endings->Unix

Diese Lösung ist eigentlich ein bisschen mehr in die Tiefe:

http://www.cyberciti.biz/faq/howto-unix-linux-convert-dos-newlines-cr-lf-unix-text-format/

+0

Sie so viel Dank. Gibt es so etwas für PHP Strome? –

+1

@TarunNagpal Ja, tatsächlich verwende ich PHP Storm. Gehe zu 'File-> Line Seperators' und ändere es in 'LF' für Unix. Wie bei den meisten Dingen in PHP Storm, wenn Sie das Wurzelverzeichnis Ihres Projekts ausgewählt haben, wenn Sie das tun, wird es alle Ihre Dateien für Sie konvertieren. Wenn Sie eine Datei geöffnet haben, die Sie gerade bearbeiten, funktioniert sie einfach für die eine Datei. Sie können dies auch über "Bearbeiten-> Indente konvertieren" tun. –

+0

Danke, es funktioniert !! –

0

Die eleganteste Lösung mit Linux anstelle von Windows wird Codierung würde - weil einfach ausgedrückt: Linux verwendet \ n für einen Zeilenumbruch, verwendet Windows \ r \ n

meisten Editoren, die weiter fortgeschritten sind als Notizblock Unterstützung Umwandlung Datei von Windows-Stil zu Linux-Stil. Blättern Sie einfach durch ihre jeweiligen Menüs.

und eine Lösung bereitzustellen, in PHP geschrieben:

<?php 
$input = file_get_contents("old.php"); 
$data = str_replace("\r\n", "\n", $input); 
file_put_contents("new.php"); 

Ihr Ersatz wahrscheinlich nicht funktioniert, weil die meisten regelmäßigen Redakteure den umgekehrten Schrägstrich nur als Zeichen Backslash verwenden und nicht \ n als Flucht interpretieren -Sequenz für ein Newline-Zeichen, aber einfach als Backslash und ein n.

Verwandte Themen