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...



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;

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
Bài liên quan
0