PHP

Cắt chuổi …

Hi . Chào các bạn!
Như các bạn đã biết trong quá trình làm nên 1 ứng dụng web thì đối khi chúng ta cần đến nhu cầu cắt chuổi . Đặc biệt là trong các site tin tức , giới thiệu . Chúng ta không thể view hết nội dung ra ở trong giới thiệu mà điều chúng ta cần là view ra 1 đoạn nhỏ để cho người đọc xem qua . Khi đó chúng ta sẽ phải sử dụng đến việc cắt chuổi . Và từ trước đến giờ thì có lẽ có nhiều đoạn code cắt chuổi , 1 người làm theo 1 kiểu . Các bạn có thể viết trực tiếp và hoặc tao 1 class cắt chuổi … Nhưng hầu hết nó chỉ cho phép chung ta sử dụng cắt chuổi bình thường , còn khi có khí tự unicode sẽ biến thành kí tự lạ .
Để khắc phục điệu đó chúng ta nên sử dụng phương pháp cắt chuổi sau :

function cstr($text, $start = 0, $limit = 12) {
if (function_exists ( 'mb_substr' )) {
$more = (mb_strlen ( $text ) > $limit) ? TRUE : FALSE;
$text = mb_substr ( $text, 0, $limit, 'UTF-8' );
return array ($text, $more );
} elseif (function_exists ( 'iconv_substr' )) {
$more = (iconv_strlen ( $text ) > $limit) ? TRUE : FALSE;
$text = iconv_substr ( $text, 0, $limit, 'UTF-8' );
return array ($text, $more );
} else {
preg_match_all ( "/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/", $text, $ar );
if (func_num_args () >= 3) {
if (count ( $ar [0] ) > $limit) {
$more = TRUE;
$text = join ( "", array_slice ( $ar [0], 0, $limit ) ) . "...";
}
$more = TRUE;
$text = join ( "", array_slice ( $ar [0], 0, $limit ) );
} else {
$more = FALSE;
$text = join ( "", array_slice ( $ar [0], 0 ) );
}
return array ($text, $more );
}
}

function cut_title($text, $limit) {
$val = cstr ( $text, 0, $limit );
return $val [1] ? $val [0] . "..." : $val [0];
}

Sau đó ta gọi nó vào và sử dụng như sau :

<?php
$chuoidautien = 'Chào m?ng b?n d?n v?i hoclaptrinh.net';
$chuoisau = cut_title($chuoidautien, 12);
echo $chuoisau;
?>

Như vậy chúng ta sẽ đở được thời gian và công sức cho việc cắt chuổi .
Chúc các bạn may mắn .

Nguồn : http://hoclaptrinh.net

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s