Версия остроты в Python:
$ python -c "import sys; print(sum(int(l) for l in sys.stdin))"
Это можно сделать с помощью регулярного выражения. Примерно так можно получить до 260 символов от начала строки до границы слова:
$line=$body;
if (preg_match('/^.{1,260}\b/s', $body, $match))
{
$line=$match[0];
}
В качестве альтернативы вы можете использовать wordwrap , чтобы разбить ваш $ body на строки, а затем просто извлечь первую строку.
Вы можете попробовать следующее:
$s = substr($string, 0, 261);
$result = substr($s, 0, strrpos($s, ' '));
$pos = strpos($body, $wordfind);
echo substr($body,0, (($pos)?$pos:260));
Вы можете сделать это: Найдите первый пробел от 260-го символа и используйте его в качестве метки обрезки:
$pos = strpos($body, ' ', 260);
if ($pos !== false) {
echo substr($body, 0, $pos);
}