Replace написав:Варіант з вбудованими функціями:
substr($string, 0, strrpos(substr($string, 0, $n), " ")
Неправильне рішення. По-перше синтаксична помилка бо не вистачає однієї закриваючої дужки, по-друге функція завжди обрізає до першого пробіла у рядку з 0 до $n символів. А якщо після цього пробіла і до $n символів ще поміститься слово?
function substring ($string, $n) {
return substr($string, 0, strrpos(substr($string, 0, $n), " "));
}
$str = 'php is hypertext'; // 16 symbols
echo substring($str, 10000)."<br/>"; // php is
echo substring($str, 16)."<br/>"; // php is
/*
Має бути
echo substring($str, 16)."<br/>"; // php is hypertext
*/