What are the best practices for handling text truncation and displaying a "Read more" link in PHP?

When truncating text in PHP and displaying a "Read more" link, it is important to ensure that the truncation does not cut off words in the middle and that the link is only displayed when necessary. One approach is to limit the text to a certain number of characters, find the last space before that limit, and truncate the text at that point. Then, check if the truncated text is shorter than the original text to determine if the "Read more" link should be displayed.

function truncateText($text, $limit) {
    if (strlen($text) > $limit) {
        $text = substr($text, 0, strrpos($text, ' ', $limit - strlen($text))) . '... <a href="#">Read more</a>';
    }
    return $text;
}

$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
$truncatedText = truncateText($text, 30);
echo $truncatedText;