To truncate a string in PHP if its length exceeds a specified limit, the substr()
function is commonly used.
Here is an example of how to truncate a string and append an ellipsis if it exceeds a certain length:
<?php
function truncateString(string $text, int $maxLength, string $ellipsis = '...'): string
{
if (strlen($text) > $maxLength) {
return substr($text, 0, $maxLength) . $ellipsis;
}
return $text;
}
$longString = "This is a very long string that needs to be truncated if it exceeds a certain length.";
$shortString = "Short text.";
echo "Truncated long string: " . truncateString($longString, 20) . "\n";
echo "Short string (not truncated): " . truncateString($shortString, 20) . "\n";
?>
In this example:
truncateString
function: This function takes three arguments:$text
: The original string to be truncated.$maxLength
: The maximum desired length of the string before truncation.$ellipsis
: (Optional) The characters to append to the truncated string (defaults to...
).
strlen($text)
: This function calculates the length of the string.- Conditional Check: The
if
statement checks if the length of$text
is greater than$maxLength
. substr($text, 0, $maxLength)
: If the string is too long,substr()
extracts a portion of the string starting from the beginning (offset 0) up to the specified$maxLength
.- Concatenation: The extracted substring is then concatenated with the
$ellipsis
to indicate truncation. - Return Original String: If the string is not longer than
$maxLength
, the original string is returned unchanged.