Hướng dẫn cách dùng Text helper trên CodeIgniter

Việc xử lý văn bản trên website là công việc mà các developer thường xuyên gặp phải. Text helper trên CodeIgniter là một công cụ rất hữu ích, đưa ra các hàm để xử lý các vấn đề liên quan đến văn bản trên website. Bài viết này thủ thuật việt nam hướng dẫn bạn cách dùng Text helper trên CodeIgniter.

Chúng ta sẽ đi qua các hàm cụ thể trong Text helper này để nắm rõ cách hoạt động và chức năng của chúng

1. Gọi Text helper.

Để gọi Text helper ta sử dụng hàm load().

$this->load->helper('text');

2. Giới thiệu về các hàm của Text helper.

a. Hàm word_limiter().

Hàm này dùng để xóa bỏ các chuỗi (xâu) với số lượng từ cần giữ lại được định nghĩa trước.

Ví dụ

$string = "Here is a nice text string consisting of eleven words.";
$string = word_limiter($string, 4);
// Kết quả trả về: Here is a nice…
// Hàm sẽ xóa các từ bắt đầu từ chữ thứ 5 trở đi.

Tham số thứ 3 là không bắt buộc, nó là phần đuôi được thêm vào sau đoạn văn đã được cắt bỏ đi. Mặc định là dấu ba chấm.

Hàm này rất hữu ích khi ta muốn cắt một đoạn của một bài viết dùng để làm phần mô tả của bài viết đó.

b. Hàm character_limiter().

Hàm này dùng để xóa một chuỗi với số lượng ký tự được định trước. Nó sẽ duy trì tính toàn vẹn của các từ (có nghĩa là từ có nghĩa hay là từ cách nhau bởi dấu cách)nên số ký tự có thể là nhiều hơn hoặc ít hơn một chút so với con số mà ta chỉ định.

Ví dụ.

$string = "Here is a nice text string consisting of eleven words.";
$string = character_limiter($string, 20);
// Kết quả trả về: Here is a nice text string…

Tham số thứ 3 là không bắt buộc, nó là phần đuôi được thêm vào sau đoạn văn đã được cắt bỏ đi. Mặc định là dấu ba chấm.

c. Hàm ascii_to_entities().

Hàm này dùng để chuyển đổi giá trị mã ASCII thành ký tự, bao gồm các mã ASCII cao hoặc ký tự MS Word, những cái mà có thể gây ra các vấn đề về hiển thị trên website, để chúng được hiện thị một cách ổn định bất kể cài đặt như thế nào của trình duyệt hay là được lưu trữ trong DB.

Có một số cái liên quan đến bộ ký tự có thể được hỗ trợ trên Server, nhưng nó cũng không thể tin tưởng 100% trong mọi trường hợp.

Ví dụ.

$string = ascii_to_entities($string);

d. Hàm entities_to_ascii().

Hàm này dùng để chuyển đổi ký tự thành mã ASCII.

e. Hàm convert_accented_characters().

Hàm này chuyển đổi ký tự có mã ASCII cao thành ký tự có mã ASCII thấp tương đương, rất hữu dụng khi sử dụng Tiếng Việt có dấu hoặc các ngôn ngữ không phải Tiếng Anh.

Ví dụ như xử lý URL.

$string = "xin chào";
echo $string = convert_accented_characters($string);
// Kết quả trả về: xin chao

Hàm này xử dụng bộ thiết lập application/config/foreign_chars.php để chuyển đổi ký tự.

f. Hàm word_censor().

Hàm này dùng để ẩn đi các từ trong một đoạn văn bản. Có 3 tham số bao gồm 

  • Tham số đầu tiên là chuỗi văn bản gốc. 
  • Tham số thứ hai chứa mảng các từ sẽ ẩn đi. 
  • Tham số thứ ba là không bắt buộc, sẽ chứa giá trị (các từ)thay thế. Nếu không định nghĩa trước thì nó sẽ thay bằng dấu ####.

Ví dụ.

$string = 'God damn it ' ;
$disallowed = array('damn', 'shucks', 'golly', 'phooey');
echo $string = word_censor($string, $disallowed);
// Kết quả trả về là: God #### it

Hàm này thường dùng để ẩn các từ lóng trong các comments của bài biết.

g. Hàm highlight_code().

Hàm này dùng để đánh dấu màu cho các đoạn mã (PHP, HTML, etc.).

Ví dụ

$string = highlight_code($string);

Hàm này sử dụng hàm highlight_string() của PHP, do vậy màu sắc được thiết lập trong file php.ini.

h. Hàm highlight_phrase().

Hàm này sẽ đánh dấu màu cho một đoạn trong chuỗi văn bản. Có 3 tham số là.

  • Tham số thứ nhất chứa văn bản gốc.
  • Tham số thứ hai chứa đoạn văn muốn đánh dấu.
  • Tham số thứ ba và thứ tư sẽ chứa thẻ HTML đóng và mở mà ta muốn bao quanh.

Ví dụ

$string = "Here is a nice text string about nothing in particular.";
$string = highlight_phrase($string, "nice text", '<span style="color:#990000">', '</span>');
// Kết quả trả về: Here is a nice text string about nothing in particular.

Text helper CodeIgniter

g. Hàm word_wrap().

Kết thúc văn bản tại các vị trí có ký tự xác định trước trong khi duy trì từ hoàn chỉnh.

Ví dụ.

$string = "Here is a simple string of text that will help us demonstrate this function.";
echo word_wrap($string, 25);
/* Kết quả trả về là:
Here is a simple string
of text that will help
us demonstrate this
function
*/

h. Hàm ellipsize().

Hàm này sẽ loại bỏ các thẻ HTML, chia tách chuỗi ở các vị trí được xác định với chiều dài tối đa, và chèn vào dấu ba chấm.

  • Tham số đầu tiên là chuỗi ban đầu.
  • Tham số thứ hai là số lượng ký tự trong chuỗi cuối.
  • Tham số thứ ba ở chỗ dấu ba chấm sẽ hiển thị từ 0 tới 1, trái qua phải. Ví dụ Nếu giá trị là 1 thì dấu ba chấm sẽ được đặt ở bên phải của chuỗi, .5 là ở giữa, và 0 là ở bên trái.
  • Tham số thứ tư (không bắt buộc) là một kiểu dấu ba chấm. Mặc định là &hellip sẽ được chèn vào.

Ví dụ

$str = 'this_string_is_entirely_too_long_and_might_break_my_design.jpg';
echo ellipsize($str, 32, .5);
// Trả về kết quả là: this_string_is_e…ak_my_design.jpg

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

Tags: