Tôi muốn biến một chuỗi dài như reallyreallyreallyreallyreallylongfilename
thành một cái gì đó như reallyreallyre...yreallyreally
.Cắt giảm độ dài của chuỗi PHP và chèn một hình elip
Về cơ bản, tìm giữa chuỗi và thay thế mọi thứ ở đó cho đến khi độ dài của chuỗi là < 30 ký tự bao gồm dấu ba chấm để biểu thị các phần của chuỗi được thay thế.
Đây là mã của tôi, nơi tôi đã cố gắng này:
function cutString($input, $maxLen = 30)
{
if(strlen($input) < $maxLen)
{
return $input;
}
$midPoint = floor(strlen($input)/2);
$startPoint = $midPoint - 1;
return substr_replace($input, '...', $startPoint, 3);
}
Nó tìm thấy trung tâm của chuỗi và thay thế một nhân vật hai bên với .
nhưng vấn đề là tôi không thể làm việc ra làm thế nào để làm cho nó cắt giảm xuống còn 30 ký tự hoặc bất kỳ số nào là $maxLen
.
Hy vọng bạn hiểu câu hỏi của mình, tôi không nghĩ mình đã làm tốt công việc giải thích nó 8)
Cảm ơn.
Đó chỉ thêm một '...' vào phía trước của chuỗi, vì vậy sản lượng là '... reallyreallyreallyreallyreally'. –
Er, nó nên đặt '...' ở giữa chuỗi James, có hai hàm substr ở đó. – Amber
Tôi biết có. Nhưng nếu tôi đặt mã đó trong hàm 'cutString' của nó, nó sẽ trả về một chuỗi có dấu ba chấm ở phía trước của chuỗi. –