Sử dụng một số hàm trong helper Text
CakePHP đã xây dựng một số hàm để xử lý chuỗi trong helper Text, bài viết này sẽ hướng dẫn cách sử dụng các hàm trong helper này.
Trong controller, các bạn khai báo dùng helper Text
var $helpers = array('Text'); |
1. highlight($text, $phrase, $options = array())
- Định dạng một chuỗi trong chuỗi cho trước
- Ví dụ: bôi đậm chuỗi “liên hệ” trong chuỗi $my_text
$my_text = 'Mọi chi tiết xin vui lòng liên hệ ls_knx07@yahoo.com'; echo $text->highlight($my_text,'liên hệ',array('format'=>'<b>\1</b>')); //kết quả Mọi chi tiết xin vui lòng <b>liên hệ</b> ls_knx07@yahoo.com |
2. stripLinks($text)
- Loại bỏ liên kết trong chuỗi
- Ví dụ:
echo $text->stripLinks('<a href="http://cakephpvn.org">Diễn đàn Cakephp VN</a>'); //kết quả Diễn đàn Cakephp VN |
3. autoLinkUrls($text, $htmlOptions = array())
- Tự động chèn liên kết cho url
- Ví dụ:
echo $text->autoLinkUrls('http://cakephpvn.org',array('target'=>'_blank')); //kết quả <a href="http://cakephpvn.org" target="_blank">http://cakephpvn.org</a> |
4. autoLinkEmails($text, $options = array())
- Tự động chèn liên kết gởi mail
- Ví dụ:
$my_text = 'Mọi chi tiết xin vui lòng liên hệ ls_knx07@yahoo.com'; echo $linked_text = $text->autoLinkEmails($my_text); //kết quả Mọi chi tiết xin vui lòng liên hệ <a href="mailto:ls_knx07@yahoo.com">ls_knx07@yahoo.com</a> |
5. autoLink($text, $options = array())
- Kết hợp 2 hàm ở mục 4 và mục 5
- Chuyển toàn bộ url và địa chỉ email thành liên kết HTML
6. truncate($text, $length = 100, $options = array())
- Cắt chuỗi theo độ dài qui định
$text: chuỗi cần cắt
$length: chiều dài cần lấy
$options: mảng tùy chọn. Trong đó bao gồm các key sau:
- ending: chuỗi kết thúc sau chuỗi được cắt, mặc định là …
- exact: nếu để false, hàm sẽ không cắt ngang một từ
- html: nếu để true, các thẻ HTML sẽ được giữ lại
Ví dụ:
echo $text->truncate('<a href="http://cakephpvn.org">Diễn đàn Cakephp VN</a>',40).'</br>';; //kết quả <a href="http://cakephpvn.org">Diễn đ... |
echo $text->truncate('<a href="http://cakephpvn.org">Diễn đàn Cakephp VN</a>',40,array('ending'=>'...','exact'=>false,'html'=>true)).'</br>';; //kết quả <a href="http://cakephpvn.org">Diễn đàn Cakephp VN</a> |
Hi vọng là bạn thấy được sự khác nhau khi sử dụng thêm mảng $options
7. toList($list, $and = ‘and’, $separator = ‘, ‘)
- Chuyển một danh sách thành chuỗi, cách nhau bởi $separator và nối phần tử cuối thông qua từ $and
- Ví dụ:
echo $text->toList(array(1,2,3,4,5),'và',','); //kết quả 1,2,3,4 và 5 |
8. excerpt($text, $phrase, $radius = 100, $ending = ‘…’)
- Trích dẫn chuỗi trong chuỗi, xác định bởi một chuỗi cố định truyền vào và số ký tự trả về 2 bên chuỗi cố định đó.
- Hạn chế: hoạt động không chuẩn với tiếng Việt có dấu
- Bên dưới là ví dụ cho chuỗi tiếng Việt và chuỗi tiếng Anh
echo $text->excerpt('Tôi muốn tắt nắng đi, cho màu đừng nhạt mất. Tôi muốn buộc gió lại, cho hương đừng bay đi. Thơ tình Xuân Diệu.','đừng',8,'...').'</br>'; //kết quả ...màu đừng nhạt ... |
Giải thích: tìm chữ “đừng“, lấy 8 ký tự trước và sau chữ “đừng” (kể cả chữ “đừng“). Tiếng Việt có dấu chạy có vẻ không chuẩn rồi!
echo $text->excerpt('Please, tell me: why do you kiss me?','do',6,'...').'</br>'; //kết quả ...why do you... |
Giải thích: tìm chữ “do“, lấy 6 ký tự trước và sau chữ “do” kể cả chữ “do” (ở đây chỉ lấy thêm 4 ký tự vì bản thân chữ “do” đã có chiều dài là 2 rồi)
2 Comments to “Sử dụng một số hàm trong helper Text”
Post comment
Bài viết mới
- CakePHP version 1.3.12
- Tạo chuỗi ngẫu nhiên với 1 dòng code
- Kỹ thuật “bit field” trong phân quyền
- Làm việc với File và Folder
- CakePHP 1.3.8
- CakePHP 1.3.7 Released
- Ajax trong CakePHP
- Tạo và load file config trong CakePHP
- Làm site đa ngôn ngữ với CakePHP (Phần 1)
- CakePHP 1.3.6 and 1.2.9 released
- CakePHP 1.3.5 released
- Type hinting trong PHP
- CakePHP ra phiên bản mới 1.3.4
- Tích hợp Zend framework vào CakePHP
- Tạo virtual host trên local
- Sử dụng Acl trong cakephp – Phần 2
- Sử dụng Acl trong cakephp – Phần 1
- Sinh code tự động với cake console
- Tự động xóa record ở bảng con khi reocord ở bảng cha bị xóa
- Xác thực người dùng với component Auth
Thảo luận mới
- admin on Sử dụng session trong CakePHP
- admin on Sử dụng session trong CakePHP
- hanh on Sử dụng session trong CakePHP
- bich yen on Sử dụng session trong CakePHP
- admin on Sử dụng session trong CakePHP
- bich yen on Sử dụng session trong CakePHP
- bich yen on Sử dụng session trong CakePHP
- admin on Sử dụng Acl trong cakephp – Phần 1
- admin on Sử dụng session trong CakePHP
- Bich Yen on Sử dụng session trong CakePHP
TAG
Calendar
Lưu trữ
- September 2011 (3)
- July 2011 (1)
- March 2011 (1)
- February 2011 (1)
- November 2010 (4)
- October 2010 (1)
- September 2010 (2)
- August 2010 (9)
- July 2010 (9)
- June 2010 (22)
Blogroll
- Bakery
- Biển đảo Việt Nam
- CakePHP
- CakePHP Google Group
- CakePHP Manual
- CakePHP Questions
- Diễn đàn CakePHP VN

admin

Cho em hỏi về hàm cắt chuối trong cakephp, phần trên admin viết chưa rõ lắm nên hỏi lại kỹ hơn chút nhé
Ví dụ:
$con=$product['Product']['content'];
$con=”Tôi đang học cakephp”;
// trong content này nội dung quá dài, vậy ta sử dụng hàm j để cắt bỏ bớt ký tự đi.
//sau khi bỏ
$con=”Tôi đang học…”;
Bạn dùng:
Điều chỉnh số 40 theo ý bạn, cái ‘exact’=>false sẽ giúp cho từ không bị cắt ngang thành vô nghĩa