Cắt ngắn (Truncation)

Quá trình cắt văn bản theo độ dài chỉ định. Được sử dụng để vừa vùng hiển thị hoặc giới hạn cột cơ sở dữ liệu.

Cắt ngắn là quá trình cắt văn bản theo độ dài chỉ định. Nó được sử dụng bất cứ khi nào văn bản cần được rút ngắn để phù hợp với các ràng buộc như giới hạn vùng hiển thị, kích thước cột cơ sở dữ liệu và kích thước phản hồi API. Từ thiết kế UI web đến xử lý dữ liệu backend, cắt ngắn là thao tác cơ bản xuất hiện ở tất cả các tầng phát triển phần mềm.

Kỹ thuật cắt ngắn UI tiêu biểu là thêm dấu ba chấm (...). Trong CSS, kết hợp text-overflow: ellipsis với overflow: hidden và white-space: nowrap thực hiện cắt ngắn văn bản một dòng tự động. Cắt ngắn nhiều dòng sử dụng thuộc tính -webkit-line-clamp. Khi cắt ngắn chuỗi trong JavaScript, thay vì đơn giản sử dụng str.slice(0, maxLength), cần chú ý cắt tại vị trí khoảng trắng cuối cùng để tránh ngắt từ giữa chừng.

Cắt ngắn văn bản tiếng Nhật có những cân nhắc riêng. Cắt giữa cặp thay thế (emoji hoặc một số kanji) gây ra văn bản lỗi. Cắt trong ký tự kết hợp (ký tự cơ sở + dấu phụ) làm hỏng hiển thị. Trong JavaScript, tách thành code point bằng Array.from(str) hoặc [...str] trước khi cắt ngắn giúp tránh tách rời cặp thay thế, nhưng những chuỗi ghép nhiều ký tự bằng dấu kết hợp hoặc ký tự nối vẫn có thể bị cắt giữa chừng. Ngoài ra, cắt ngay trước dấu câu như "。" hoặc "、" tạo ấn tượng không tự nhiên, vì vậy cắt ngắn có nhận biết dấu câu được ưu tiên.

Cắt ngắn công cụ tìm kiếm cũng là chủ đề quan trọng. Google cho biết meta description không có giới hạn độ dài, nhưng đoạn trích hiển thị trong kết quả tìm kiếm sẽ bị cắt ngắn khi cần, phần lớn là để vừa với chiều rộng màn hình thiết bị. Nói cách khác, không có ngưỡng cố định nào về số ký tự được hiển thị đầy đủ được công bố, và cùng một đoạn văn có thể bị cắt ở vị trí khác nhau trên desktop và trên điện thoại thông minh. Thẻ title cũng bị cắt ngắn dựa trên chiều rộng hiển thị, khiến việc đặt từ khóa quan trọng ở đầu trở thành nguyên tắc SEO cơ bản. Vì phần bị cắt ngắn không hiển thị cho người dùng tìm kiếm, cấu trúc nội dung phải ưu tiên thông tin theo thứ tự.

Cắt ngắn cơ sở dữ liệu cần chú ý đặc biệt vì có thể dẫn đến mất dữ liệu. Chèn hơn 255 ký tự vào cột VARCHAR(255) trong MySQL gây ra lỗi khi chế độ nghiêm ngặt được bật; khi tắt, giá trị được điều chỉnh cho vừa và chỉ có một cảnh báo được đưa ra. Nói cách khác, tùy theo cấu hình, dữ liệu bị mất phần cuối có thể tiếp tục được lưu mà không ai nhận ra. Vì mỗi ký tự tiếng Nhật chiếm 3 byte trong UTF-8 còn emoji và các ký tự tương tự chiếm 4 byte, điều quan trọng là không nhầm lẫn giới hạn dựa trên byte với giới hạn dựa trên ký tự.

Về đếm ký tự, cắt ngắn là mặt trái của "giới hạn ký tự." Quy trình thông thường là kiểm tra số ký tự hiện tại bằng công cụ đếm và cắt ngắn khi vượt quá giới hạn. Xác minh rằng văn bản đã cắt ngắn vẫn giữ được ý nghĩa và số ký tự bao gồm dấu ba chấm nằm trong giới hạn là điều thiết yếu trong thực tế.

Chia sẻ bài viết này