Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

được lưu trữ trong trường mysql nhưng không có ngắt dòng khi echo


Khi xuất ra một vùng văn bản, bạn phải gọi htmlentities htmlspecialchars nếu văn bản của bạn chứa HTML.

<textarea><?php echo htmlspecialchars($text); ?></textarea>

Điều đó sẽ chuyển đổi <br /> của bạn tới &lt;br /&gt; . Nếu bạn rời khỏi <br /> chưa được mã hóa, chúng sẽ đơn giản được hiểu là HTML.

Nếu mục tiêu của bạn là hiển thị <br /> hoặc HTML khác trong vùng văn bản vì nó được viết trong cơ sở dữ liệu, bạn phải thoát khỏi tất cả mã mà nếu không sẽ được hiểu là HTML.

chỉnh sửa

Nếu bạn muốn xuất dấu ngắt dòng thay vì <br /> bạn có thể sử dụng str_replace :

<textarea><?php echo str_replace('<br />', "\r\n", $textarea); ?></textarea>

Nhưng hãy nhớ rằng tất cả các HTML khác sẽ được thông dịch và không được hiển thị. Tôi nghĩ bạn nên giải quyết vấn đề của mình tại nguồn và lưu trữ CRLF trong cơ sở dữ liệu nếu bạn không cần HTML.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo bình luận cho các lượt xem trong mysql

  2. Việc tách dữ liệu lớn và nhỏ có liên quan trong cột của bảng SQL có hiệu quả hơn không?

  3. Thoát khỏi báo giá đơn trong PHP khi chèn vào MySQL

  4. Cách thêm cột JSON trong MySQL với Rails 5 Migration

  5. Doctrine - Làm thế nào để in ra sql thực, không chỉ là câu lệnh đã chuẩn bị?