Skip to content

Instantly share code, notes, and snippets.

@Spomky
Created August 15, 2017 13:59
Show Gist options
  • Save Spomky/af8422e1107a75532b38bfcd4318c665 to your computer and use it in GitHub Desktop.
Save Spomky/af8422e1107a75532b38bfcd4318c665 to your computer and use it in GitHub Desktop.
Truncate
<?php
function truncate($value, $length = 30, $preserve = false, $separator = '...')
{
if ($length < strlen($value)) {
if (true === $preserve) {
if (false === ($breakpoint = strpos($value, ' ', $length))) {
return $value;
}
$length = $breakpoint;
}
return rtrim(mb_substr($value, 0, $length)).$separator;
}
return $value;
}
var_dump(truncate('Est savoir de le Prélude une pour ordinateur sur réseau est réseau de à Le et travers Il a n\'est Le programme Prélude ordinateur Internet réseau à un programme réseau Il Prélude blague quelque blague Ce partie Chaque réseau Prélude une partie quelque Il le Prélude Ce programme tout sur mais créé a programme le y réseau Chaque.'));
var_dump(truncate('Est savoir de le Prélude une pour ordinateur sur réseau est réseau de à Le et travers Il a n\'est Le programme Prélude ordinateur Internet réseau à un programme réseau Il Prélude blague quelque blague Ce partie Chaque réseau Prélude une partie quelque Il le Prélude Ce programme tout sur mais créé a programme le y réseau Chaque.', 20));
var_dump(truncate('Est savoir de le Prélude une pour ordinateur sur réseau est réseau de à Le et travers Il a n\'est Le programme Prélude ordinateur Internet réseau à un programme réseau Il Prélude blague quelque blague Ce partie Chaque réseau Prélude une partie quelque Il le Prélude Ce programme tout sur mais créé a programme le y réseau Chaque.', 20, true));
var_dump(truncate('Est savoir de le Prélude une pour ordinateur sur réseau est réseau de à Le et travers Il a n\'est Le programme Prélude ordinateur Internet réseau à un programme réseau Il Prélude blague quelque blague Ce partie Chaque réseau Prélude une partie quelque Il le Prélude Ce programme tout sur mais créé a programme le y réseau Chaque.', 20, true, '... Voir la suite'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment