09/10/2018, 17:39
[TUTOR] Tạo hàm ngắt dòng trong PHP
Dưới đây là một hàm đơn giản để ngắt n ký tự kể từ đầu chuỗi trở về sau , bạn có thể thiếp lập tham số $more sao cho hiển thị dấu ... ở cuối dòng hay không .
Ví dụ : Chuỗi ban đầu : Ngay mai la mua xuan
Chuỗi sau khi ngắt 8 ký tự đầu : Ngay mai...
$chuoi = "Ngay mai la mua xuan";
$chuoi = cut_string($chuoi,8,1);
echo $chuoi;
// Trong trình duyệt : Ngay mai...
Trong quá trình sử dụng , nếu thấy có chỗ nào không ổn mong các bạn góp ý thêm nha
Ví dụ : Chuỗi ban đầu : Ngay mai la mua xuan
Chuỗi sau khi ngắt 8 ký tự đầu : Ngay mai...
$chuoi = "Ngay mai la mua xuan";
$chuoi = cut_string($chuoi,8,1);
echo $chuoi;
// Trong trình duyệt : Ngay mai...
PHP Code:
function cut_string($str,$len,$more){
#$string : chuỗi cần ngắt
#$len : số ký tự cần ngắt ( vd: 300 )
#$more : Nếu = 1 : chèn dấu ... ở cuối chuỗi , nếu =0 thì không chèn
if ($str=="" || $str==NULL) return $str; # trả lại nếu chuỗi là rỗng
if (is_array($str)) return $str; # trả lại nếu đây là một mảng (array )
$str = trim($str);
// Nếu chuỗi ban đầu có số ký tự < $len thì trả về
if (strlen($str) <= $len) return $str;
// nếu chuỗi ban đầu có số ký tự > $len thì tiếp tục
$str = substr($str,0,$len);
// ở đây mình dùng hàm @substr để ngắt chuỗi
if ($str != "") {
// kiểm tra coi thử có khoảng trắng (space) hay không ?
if (!substr_count($str," ")) {
// nếu đặt biến <b>$more=1</b> thì chèn dấu ... vô cuối chuỗi
if ($more) $str .= "...";
return $str;
}
while(strlen($str) && ($str***91;strlen($str)-1***93; != " ")) {
$str = substr($str,0,-1);
}
$str = substr($str,0,-1);
if ($more) $str .= "...";
}
return $str;
}
Bài liên quan