- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
Trong bài hôm nay mình sẽ hướng dẫn các bạn giới hạn chuỗi trong php với số lượng ký tự được chỉ định. Để 3 chấm trong chuỗi đầu ra cho biết chuỗi này còn nhiều. Có nhiều hình thức hiển thị, ví dụ: để 3 chấm ở cuỗi chuỗi hoặc đặt ở giữa chuỗi giống như thế này.

Hiển thị giới hạn chuỗi dạng: abcde…eg
<?php
function strMiddleReduceWordSensitive($string, $max = 50, $rep = '[...]') {
$strlen = strlen($string);
if ($strlen <= $max)
return $string;
$lengthtokeep=$max - strlen($rep);
$start = 0;
$end = 0;
if (($lengthtokeep % 2) == 0) {
$start = $lengthtokeep / 2;
$end = $start;
} else {
$start = intval($lengthtokeep / 2)+2;
$end = $start - 5;
}
$i = $start;
$tmp_string = $string;
while ($i < $strlen) {
if (isset($tmp_string[$i]) and $tmp_string[$i] == ' ') {
$tmp_string = mb_substr($tmp_string, 0, $i,'UTF-8') . $rep;
$return = $tmp_string;
}
$i++;
}
$i = $end;
$tmp_string = strrev ($string);
while ($i < $strlen) {
if (isset($tmp_string[$i]) and $tmp_string[$i] == ' ') {
$tmp_string = mb_substr($tmp_string, 0, $i,'UTF-8');
$return .= strrev ($tmp_string);
}
$i++;
}
if(isset($return)) return $return;
return mb_substr($string, 0, $start,'UTF-8') . $rep . mb_substr($string, - $end,'UTF-8');
}
?>
Hiển thị chuỗi với ký tự giới hạn, bạn gọi hàm strMiddleReduceWordSensitive như dưới đây:
echo strMiddleReduceWordSensitive('cộng hòa xã hội chủ nghĩa việt nam độc lập tự do hạnh phúc',30,'...');
Kết quả:
cộng hòa xã hội...do hạnh phúc
Hiển thị giới hạn chuỗi dạng: abcde…
<?php
function mysubstr($str,$limit=100){
if(strlen($str)<=$limit) return $str;
return mb_substr($str,0,$limit-3,'UTF-8').'...';
}
?>
Cách dùng:
echo mysubstr('cong hoa xa hoi chu nghia',10);
Kết quả:
cong ho...
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype