10/10/2018, 09:42
vấn đề xuống hàng textare
Vấn đề này đã có một bác hỏi rồi, và cũng đả có nhiều cách giải quyết được đưa ra, nhưng mà bây giờ lại không tìm lại được, mà nay tự nhiên em bị nảy ra một vấn đề như thế này:
[code]
<textarea name="text" wrap="hard" cols="20" rows="6"></textarea>
[code]
Giả sử đây là textare mà ta đang có.
Nếu có một người cố ý viết vào nó một dòng:
Cao kiến của các bác ấy là đếm một khoảng nhất định các ký tự rồi chèn ký tự xu6ng1 hàng vào.Thế nhưng vấn đề em gặp phải là:
VD:
Em quyết định rằng cứ 50 ký tự thì nó sẽ xuống hàng một lần, và trường hợp trên, câu nói bị chia thành:
Hjx ( phải làm thế nào để fix đây hả mọi người!?
[code]
<textarea name="text" wrap="hard" cols="20" rows="6"></textarea>
[code]
Giả sử đây là textare mà ta đang có.
Nếu có một người cố ý viết vào nó một dòng:
Code:
adjassfsdhfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdfasdfadsfasdfasdfasdfadsfdasfasdfsadfsadfsadfasdfsadfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdfasdfasdfasdfsdafasdfasdfasdfsadfdasfasdfasdfsdf
VD:
Code:
Anh yêu em nhiều lắm em có biến không cô bé lon ton!
Code:
Anh yêu em nhiều lắm em có biến không cô bé lon to n!
Bài liên quan
Bạn nên nêu rõ cái này bạn đang áp dụng vào cái gì. Biết đâu có những giải pháp khác hay hơn là cứ phải xuống hàng.
Sau đó có một số yêu cầu khi lập trình xuất text ra, nếu mà text kéo dài quá làm vỡ giao diện!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 là bạn đếm kí tự để lấy chuổi không quá dài (ví dụ không quá 60) kí tự
2 là thay vì bạn đếm kí tự để xuống dòng thì bạn đếm từ và lấy số từ lớn nhất có thể. như thế thì dòng sẽ không bị cắt giữa từ nữa.
ví dụ
[=========> Bổ sung bài viết <=========]
hoặc trường hợp này chỉ xảy ra nếu một từ dài hơn khung. vì thế chỉ cần cắt các từ quá dài này thôi. vì thế thay vì bạn cắt dòng với 50 kí tự thì bạn cắt từ với 50 kí tự.
$str = "abc defg hijklm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
$max_chars = 10;
echo preg_replace("/(***91;^\s***93;{{$max_chars}})/", "$1 ", $str);
// output "abc defg hijklm aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa aa"
Vi dụ: được lời như mở tấm lòng
Bác kêu nó đếm: ê, 22 ký tự là cắt nha ---> được lời như mở tấm lò
ng --> he he he
Cách này khỏi cần lập trình chi hết nè:
Ví dụ cái trang của bạn có 3 cột: left, center, right
Nội dung bạn hiện ra ở center. Chắc chắn bạn biết center nó rộng bao nhiêu rồi. Đặt cái div cố định chiều rộng và cho nó tự cắt khi nội dung vượt khung.