Merge pull request #811 from xsbeats/feature/str_limit_exact
Feature: Str::limit_exact limits a string including its custom ending to a specified length
This commit is contained in:
commit
8f8fa09708
|
@ -25,6 +25,7 @@ ## Word & Character Limiting
|
||||||
#### Limiting the number of characters in a string:
|
#### Limiting the number of characters in a string:
|
||||||
|
|
||||||
echo Str::limit($string, 10);
|
echo Str::limit($string, 10);
|
||||||
|
echo Str::limit_exact($string, 10);
|
||||||
|
|
||||||
#### Limiting the number of words in a string:
|
#### Limiting the number of words in a string:
|
||||||
|
|
||||||
|
|
|
@ -130,6 +130,31 @@ public static function limit($value, $limit = 100, $end = '...')
|
||||||
return substr($value, 0, $limit).$end;
|
return substr($value, 0, $limit).$end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Limit the number of chracters in a string including custom ending
|
||||||
|
*
|
||||||
|
* <code>
|
||||||
|
* // Returns "Taylor..."
|
||||||
|
* echo Str::limit_exact('Taylor Otwell', 9);
|
||||||
|
*
|
||||||
|
* // Limit the number of characters and append a custom ending
|
||||||
|
* echo Str::limit_exact('Taylor Otwell', 9, '---');
|
||||||
|
* </code>
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
* @param int $limit
|
||||||
|
* @param string $end
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function limit_exact($value, $limit = 100, $end = '...')
|
||||||
|
{
|
||||||
|
if (static::length($value) <= $limit) return $value;
|
||||||
|
|
||||||
|
$limit -= static::length($end);
|
||||||
|
|
||||||
|
return static::limit($value, $limit, $end);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Limit the number of words in a string.
|
* Limit the number of words in a string.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue