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
0nó đơ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ị DOMDò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à
4 và đây là những gì MS DOS đã sử dụng;Insert a new line
before here - Thay vào đó, UNIX đã sử dụng
0 và nó đã được nhiều ngôn ngữ sử dụng;Insert a new line
before here - Trước OS X, máy Mac sử dụng
3. Đăng OS X, máy Mac sử dụng UNIXInsert a new line
before here
0Insert a new line
before here
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 sauThay 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
3Insert a new line
before here
9Theo 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