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:
Code:
adjassfsdhfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdfasdfadsfasdfasdfasdfadsfdasfasdfsadfsadfsadfasdfsadfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdfasdfasdfasdfsdafasdfasdfasdfsadfdasfasdfasdfsdf
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:
Code:
Anh yêu em nhiều lắm em có biến không cô bé lon ton!
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:
Code:
Anh yêu em nhiều lắm em có biến không cô bé lon to
n!
Hjx ( phải làm thế nào để fix đây hả mọi người!?
s.code viết 11:44 ngày 10/10/2018
Tại sao phải nhất thiết chọn giải pháp đó. Để auto có gì khó chịu à. TextAre có scroll mà.

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.
nvcnvn viết 11:57 ngày 10/10/2018
Được gửi bởi s.code
Tại sao phải nhất thiết chọn giải pháp đó. Để auto có gì khó chịu à. TextAre có scroll mà.

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.
Chà, vậy là bác nhằm rồi, đây là khi mà người ta cố tình phá, viết một mạnh thẳng dài.
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!
snoob viết 11:58 ngày 10/10/2018
Ví dụ:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
kenny_chicken viết 11:48 ngày 10/10/2018
lúc xuất ra cũng để vào textare thì vỡ kiểu gì ?
trinhdiep viết 11:53 ngày 10/10/2018
cái này dễ quá a.
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ụ
Code:
a ------------------------------------------------------------------------------------------------------------------------------
se tao ra
Code:
a
--------------------------------------------------------------------------
------------------------------------------------------------

[=========> 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ự.
pdah viết 11:46 ngày 10/10/2018
Không thể hiểu nổi từ "Textarea" mà 5 6 ông cùng viết thành "Textare" mà không ai nhận ra là mình viết sai ?
fotech_nd viết 11:48 ngày 10/10/2018
Được gửi bởi nvcnvn
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:
Code:
adjassfsdhfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdfasdfadsfasdfasdfasdfadsfdasfasdfsadfsadfsadfasdfsadfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfsadfasdfasdfasdfasdfsdafasdfasdfasdfsadfdasfasdfasdfsdf
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:
Code:
Anh yêu em nhiều lắm em có biến không cô bé lon ton!
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:
Code:
Anh yêu em nhiều lắm em có biến không cô bé lon to
n!
Hjx ( phải làm thế nào để fix đây hả mọi người!?
Thử code dưới nhé (cần test với unicode).
PHP Code:
$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" 
nvcnvn viết 11:44 ngày 10/10/2018
cám ơn mọi người đả chỉ!!!
suutamcongnghe viết 11:47 ngày 10/10/2018
Thôi đi pác, cắt chữ xuống hàng chỉ dành cho con người, kêu máy nó cắt nó cắt loạn xị:

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.

Code:
<div style="width: 500px; overflow-x: hidden;"> dkdjf dfdfdbdfdfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdhudhudhudhudhfdufhdfddfdfdfd</div>
P/s: giống tag code trong diễn đàn nè, chỉ khác cái là overflow-x: auto;
Bài liên quan
0