我正在使用Sublime文本编辑器。我想验证validator中的Prestashop模块。但它显示的错误就像
End of line character is invalid; expected "\n" but found "\r\n"
此行代码仅包含<?php
。我已搜索并替换为
&#34; \ r \ n&#34;用&#34; \ n&#34;来自不同的编辑。但它根本不起作用。
你能告诉我如何解决这个问题吗?任何帮助和建议都会非常明显。感谢
答案 0 :(得分:10)
这是一个操作系统问题。当您进行跨平台编码时会发生这种情况。操作系统有不同的方式来解释行尾。在这里,这可能有所帮助:
此外,sublime也有解决方案。如果您要编写Unix代码,请确保更改Unix的换行符。 View->Line Endings->Unix
这个解决方案实际上更深入一些:
http://www.cyberciti.biz/faq/howto-unix-linux-convert-dos-newlines-cr-lf-unix-text-format/
答案 1 :(得分:1)
最优雅的解决方案是使用linux而不是windows进行编码 - 因为简单地说:linux使用\ n进行换行,windows使用\ r \ n
比记事本更先进的大多数编辑器都支持将文件从windows样式转换为linux样式。只需浏览各自的菜单。
并提供在 PHP中编写的解决方案:
public class Role
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<User> Users { get; set; }
public Role()
{
this.Users = new Collection<User>();
}
}
你的替换可能不起作用,因为大多数常规编辑器使用反斜杠就像字符反斜杠一样,并且不将\ n解释为换行符的换行符,而只是作为反斜杠和n。