Dòng kết thúc PHP

Bạn cần bao gồm một chuỗi văn bản dài cần được ngắt bằng cách ngắt dòng để người dùng của bạn dễ đọc. Và vì vậy, bạn thấy mình đang tự hỏi…

Cách tốt nhất để thực hiện điều này là gì?

Để thêm các dòng mới vào một chuỗi trong PHP, hãy lặp lại chuỗi bằng hàm nl2br(), thêm

Insert a new line 
before here
0 vào bất cứ nơi nào bạn muốn các dòng được chèn vào. Hàm sẽ trả về một chuỗi có phần tử
Insert a new line 
before here
1 được chèn vào trước mỗi ký tự
Insert a new line 
before here
0

nó đơn giản như vậy. Nếu bạn chưa sử dụng hàm nl2br() (tên viết tắt của “newline to break”), bạn sẽ mất một thời gian để tìm hiểu các sợi dây. Trong phần còn lại của bài đăng này, tôi sẽ chỉ cho bạn chính xác cách sử dụng nó

Cách chức năng nlbr() hoạt động

PHP, giống như hầu hết các ngôn ngữ lập trình khác, có hỗ trợ cho ký tự “cuối dòng” hoặc “dòng mới”, yêu cầu trình thông dịch chèn một dòng mới vào đầu ra mã của bạn

Điều này được thực hiện bằng cách sử dụng hàm nlbr(). Hàm phân tích cú pháp chuỗi, tìm kiếm các ký tự

Insert a new line 
before here
0, sau đó trả về một chuỗi mới với các phần tử
Insert a new line 
before here
0 được chuyển đổi thành các phần tử
Insert a new line 
before here
1. Đổi lại, trình duyệt của người dùng chuyển đổi các phần tử
Insert a new line 
before here
1 thành ngắt dòng khi nó hiển thị DOM

Dòng mới với /n

Trong cách triển khai đơn giản nhất có thể tưởng tượng được, việc bạn sử dụng hàm nlbr() sẽ như thế này

Hàm trên sẽ trả về đầu ra sau

Insert a new line 
before here

Điều quan trọng cần lưu ý là PHP cũng cho phép bạn sử dụng

Insert a new line 
before here
3,
Insert a new line 
before here
4 và
Insert a new line 
before here
5 thay vì
Insert a new line 
before here
0 cho các ký tự cuối dòng. Tuy nhiên, bạn có thể sử dụng những mã này thay thế cho nhau—để làm cho mã của bạn nhất quán và dễ gỡ lỗi—bạn nên chọn một mã và tuân theo mã đó

Dòng mới với \r

Vì vậy, cho dù bạn sử dụng cái này

Dòng mới với \n\r

Hoặc cái này

Dòng mới với \r\n

Hoặc, cuối cùng nhưng không kém phần quan trọng, điều này

Với hàm nlbr(), nó sẽ không nhất thiết tạo ra sự khác biệt

Sử dụng ký tự ngắt dòng nào?

Quyết định, quyết định… Bạn nên sử dụng ký tự dòng mới nào?

Insert a new line 
before here
3 dành cho “sự quay trở lại vận chuyển” và bắt nguồn từ những ngày mà cỗ xe giấy trên máy đánh chữ và máy in cơ học phải được trượt trở lại vị trí và xoay lên trên để bắt đầu một dòng mới.
Insert a new line 
before here
0 là viết tắt của “newline” cho một dòng mới được kích hoạt bởi “typist. ”

Các hệ điều hành và ngôn ngữ lập trình trong những ngày đầu của máy tính đã sử dụng cả dấu xuống dòng (

Insert a new line 
before here
3), dấu xuống dòng (
Insert a new line 
before here
0) và dấu xuống dòng theo sau là dấu xuống dòng (
Insert a new line 
before here
4) như được sắp xếp theo thứ tự trên máy đánh chữ

Tất nhiên, mỗi người nhặt một cái khác nhau

  • Tiêu chuẩn ASCII là
    Insert a new line 
    before here
    4 và đây là những gì MS DOS đã sử dụng;
  • Thay vào đó, UNIX đã sử dụng
    Insert a new line 
    before here
    0 và nó đã được nhiều ngôn ngữ sử dụng;
  • Trước OS X, máy Mac sử dụng
    Insert a new line 
    before here
    3. Đăng OS X, máy Mac sử dụng UNIX
    Insert a new line 
    before here
    0

Ngày nay, cái nào để sử dụng tùy thuộc vào sở thích cá nhân của bạn. Trả về dòng giữ con trỏ chuột trên dòng hiện có, trong khi dòng mới di chuyển nó sang dòng mới

Với tất cả những gì đã nói, hầu hết các lập trình viên mà tôi biết đều sử dụng

Insert a new line 
before here
0 cho các ngôn ngữ hỗ trợ nó. Ngoài ra, về độ dài,
Insert a new line 
before here
0 và
Insert a new line 
before here
3 yêu cầu một nửa số ký tự là
Insert a new line 
before here
4 và
Insert a new line 
before here
5, vì vậy tôi thấy không có lý do gì để sử dụng cái sau

Thay thế. PHP_EOL

Trong PHP, có một từ dành riêng gọi là

1. Về cơ bản, đó là một hằng số được xác định trước mà tài liệu PHP mô tả là “Biểu tượng 'Kết thúc dòng' chính xác cho nền tảng này. ”

1, như bạn sẽ thấy trong đoạn mã bên dưới, loại bỏ nhu cầu sử dụng hàm
3

Insert a new line 
before here
9

Theo một người dùng trong chủ đề Stackoverflow này, mục đích của PHP_EOL là tự động chọn đúng ký tự ngắt dòng để mã của bạn luôn tương thích, bất kể mã đó chạy trên hệ điều hành nào

Tóm lại là

đó là. Mặc dù có nhiều cách hơn để tiếp cận vấn đề này, nhưng hàm nlbr() và hằng số được xác định trước PHP_EOL sẽ thực hiện công việc tương ứng cho các ứng dụng HTML và không phải HTML

Hãy cho tôi biết trong các nhận xét nếu bạn có thể nghĩ ra bất kỳ cách tiếp cận nào đẹp hơn hoặc nếu bạn gặp phải bất kỳ hạn chế hoặc trường hợp khó khăn nào ở trên đáng để chia sẻ với những người đọc còn lại của bài đăng này

Làm cách nào để kết thúc một dòng trong PHP?

Hàm nl2br() chèn ngắt dòng HTML (

\n có hoạt động trong PHP không?

Bạn có thể sử dụng các ký tự xuống dòng PHP \n hoặc \r\n để tạo một dòng mới bên trong mã nguồn . Tuy nhiên, nếu bạn cũng muốn ngắt dòng hiển thị trong trình duyệt, bạn có thể sử dụng hàm PHP nl2br() để chèn ngắt dòng HTML trước tất cả các dòng mới trong một chuỗi.

\r trong PHP là gì?

\r là Trả về vận chuyển \n là Nguồn cấp dữ liệu theo dòng (hoặc dòng mới). Trên các hệ thống Windows, chúng cùng nhau tạo một dòng mới (i. e. mỗi khi bạn nhấn nút enter, bản sửa lỗi của bạn sẽ nhận được \r\n ). Trong PHP nếu bạn mở tệp văn bản kiểu Windows, bạn sẽ nhận được \r\n ở cuối đoạn/dòng mà bạn đã nhấn enter.

PHP Crlf là gì?

CRLF injection là một lỗ hổng cho phép tin tặc độc hại đưa vào các ký tự carriage return (CR) và linefeed (LF) để thay đổi cách một .