Cắt từ trong câu với Javascript

Trong WordPress có hàm wp_trim_words() dùng để cắt ngắn đoạn văn bản thành số lượng từ mong muốn. Với JavaScript, bạn cũng có thể tạo chức năng tương tự một cách đơn giản.

Cắt từ trong câu với Javascript

1. Ví dụ đầu vào

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Cắt 15 từ đầu và thêm ...:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore…

2. Hàm cắt từ trong JavaScript

function trimWords(str, numWords, more = '') {
    const clean = str
        .trim()
        .replace(/\s{2,}/g, ' ')
        .replace(/\n\s/g, '\n');

    const words = clean.split(' ');
    if (words.length > numWords) {
        return words.slice(0, numWords).join(' ') + more;
    }
    return str;
}

3. Cách sử dụng

const longText = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.';
const shortText = trimWords(longText, 15, '...');
console.log(shortText);

Kết quả:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore...

4. Gợi ý mở rộng

  • Dùng để rút gọn mô tả bài viết, sản phẩm, bình luận…
  • Có thể thay more bằng <a href="#">Xem thêm</a> để dùng trong UI
  • Kết hợp với innerText để rút gọn nội dung DOM tự động

Kết luận

Hàm trimWords() này cực kỳ nhỏ gọn và hiệu quả, phù hợp với mọi dự án frontend, đặc biệt là khi bạn muốn xử lý nội dung trực tiếp trên client. Đây là một trong những tiện ích nên có trong bất kỳ bộ công cụ JavaScript mini nào.

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...