Bài viết này hướng dẫn cắt từ trong câu với số lượng từ tùy chỉnh sử dụng JavaScript.

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

Tương tự như WordPress có phương thức wp_trim_words để cắt từ ngữ số lượng nhất định, dùng để rút ngắn phần giới thiệu. Bài viết này giới thiệu chức năng tương tự nhưng sử dụng JavaScript.

Ví dụ.

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. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Cần cắt 15 từ và thêm dấu ... phía sau.

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

JavaScript

function trimWords(str, numWords, more = '') {
	// Đếm số từ, nếu số từ trong câu lớn hơn số từ cần cắt mới phải cắt
	var countWords = str;
	countWords = countWords.replace(/(^\s*)|(\s*$)/gi, '');
	countWords = countWords.replace(/[ ]{2,}/gi, ' ');
	countWords = countWords.replace(/\n /, '\n');
	if (countWords.split(' ').length > numWords) {
		str = str.split(' ').splice(0, numWords).join(' '); // Cắt từ
		str += more; // Thêm phía sau
	}

	return str;
}

Sử dụng

var str = '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. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.';
console.log(trimWords(str, 15, '...'));

Ngoài dấu ... thì các bạn có thể thêm bất kì kí tự nào vào phía sau.

Chúc các bạn thành công!