2011-07-24 49 views
7

Tôi đang cố gắng xuất một ký tự dòng mới trong PHP được xem trong trình duyệt web. Tôi chỉ có thể quản lý nó bằng cách sử dụng thẻ <br />.Lợi ích của n và PHP_EOL trong PHP là gì?

Khi tôi sử dụng \n, không có gì xảy ra, vì vậy lợi ích của việc sử dụng \n là gì? Ngoài ra, lợi ích của PHP_EOL là gì? Khi tôi nối nó vào một chuỗi, chỉ một khoảng trắng được in không phải là một dòng mới.

+2

Không có vấn đề gì loại EOL' bạn sử dụng nó sẽ bị bỏ qua trong trình duyệt trừ khi bên trong một thẻ 'pre'. Chỉ một phần tử 'br' hoặc một khối cấp sẽ làm cho nội dung được chuyển đến dòng tiếp theo khi được hiển thị. – prodigitalson

Trả lời

7

Trình duyệt web diễn giải đầu ra của chương trình PHP dưới dạng HTML, vì vậy \n\r\n sẽ không xuất hiện để làm bất cứ điều gì, giống như chèn dòng mới vào tệp HTML. Mặt khác, <br /> tạo một dòng mới trong HTML được diễn giải (do đó "dòng BReak"). Do đó, <br /> sẽ tạo các dòng mới, trong khi \r\n sẽ không làm gì cả.

+0

(theo nghĩa đen chỉ tách mã thành các ngắt dòng khác nhau) Tôi có thể tách mã bằng cách thực hiện dòng mới theo cách thủ công, vì vậy mã có thể đọc được, cho đến bây giờ tôi không thể tìm thấy bất kỳ lợi ích nào khi sử dụng \ r \ n – palAlaa

+3

"\ r \ n" rất hữu ích để ghi vào tệp, giao diện dòng lệnh php, ghi ổ cắm, ghi dữ liệu một textarea (HTML element), vv Về cơ bản nó có ích cho mọi thứ ngoại trừ HTML trực tiếp. – Chris

+0

Đây là điểm, cảm ơn. – palAlaa

3

Định nghĩa PHP_EOL là chính xác cho nền tảng bạn đang sử dụng. Vì vậy, trên cửa sổ PHP_EOL\r\n trên MAC là \r trên Linux, đó là \n. Trong khi đó, <br /> hoặc <br> là đánh dấu HTML cho phanh đường. Nếu bạn mới sử dụng HTML & PHP, bạn nên nắm bắt HTML trước, sau đó lo lắng về PHP. Hoặc bắt đầu đọc một số mã nguồn và chạy mã nguồn của những người khác để xem họ đã làm như thế nào. Nó sẽ làm cho bạn mã tốt hơn chỉ bằng cách sao chép phong cách của họ. (Phần lớn thời gian.)

+0

Tôi tạo "\ r \ n" cũng không có dòng mới nào xảy ra. – palAlaa

+0

Tôi chỉ muốn biết dòng mới tôi đang nói về nên được xem trong trang HTML hoặc trong luồng khác ??? – palAlaa

+0

Sử dụng '
'trong HTML để tạo một dòng mới trên trang web, sử dụng' PHP_EOL' để tạo một dòng mới trong Đánh dấu HTML của trang web. Bạn đang nói về hai thứ khác nhau, và bạn nên biết điều này, trước khi bạn thử HTML & PHP. Bạn phải học HTML trước, sau đó học PHP vì một khi làm việc với cái kia, chúng không giống nhau. –

4

Khi bạn đang sử dụng PHP để tạo ra một ứng dụng web, có một vài lớp tham gia:

  • mã PHP của bạn, mà kết quả đầu ra một số dữ liệu-
  • một máy chủ web, mà truyền dữ liệu qua mạng tới
  • trình duyệt web, phân tích dữ liệu và hiển thị nó trên màn hình.

Lưu ý rằng ở trên, nó chỉ là dữ liệu đang được truyền đi. Trong trường hợp của bạn, dữ liệu đó là HTML, nhưng nó có thể dễ dàng là văn bản thuần hoặc thậm chí là hình ảnh được định dạng PNG. (Đây là một lý do tại sao bạn gửi tiêu đề Content-Type:, để chỉ định định dạng dữ liệu của bạn.)

Vì nó thường được sử dụng cho HTML, PHP có nhiều tính năng dành riêng cho HTML, nhưng đó không phải là định dạng duy nhất nó có thể xuất ra. Vì vậy, mặc dù ký tự dòng mới không phải lúc nào cũng hữu ích cho HTML, là hữu ích:

  • nếu bạn muốn định dạng HTML bạn đang tạo, không phải cho trình duyệt web, nhưng để người khác có thể đọc;
  • nếu bạn muốn tạo văn bản thuần hoặc định dạng khác, nơi các ký tự dòng mới quan trọng.
2

PHP_EOL hữu ích khi bạn đang ghi dữ liệu vào tệp, ví dụ: tệp nhật ký. Nó sẽ tạo ra các ngắt dòng cụ thể cho nền tảng của bạn.

Các vấn đề liên quan