При проверке PHP substr заканчивает на слове не символ

Версия остроты в Python:

$ python -c "import sys; print(sum(int(l) for l in sys.stdin))"
55
задан Cool Hand Luke 5 August 2009 в 13:33
поделиться

4 ответа

Это можно сделать с помощью регулярного выражения. Примерно так можно получить до 260 символов от начала строки до границы слова:

$line=$body;
if (preg_match('/^.{1,260}\b/s', $body, $match))
{
    $line=$match[0];
}

В качестве альтернативы вы можете использовать wordwrap , чтобы разбить ваш $ body на строки, а затем просто извлечь первую строку.

99
ответ дан 26 November 2019 в 17:33
поделиться

Вы можете попробовать следующее:

   $s = substr($string, 0, 261);
   $result = substr($s, 0, strrpos($s, ' '));
29
ответ дан 26 November 2019 в 17:33
поделиться
$pos = strpos($body, $wordfind);
echo substr($body,0, (($pos)?$pos:260));
0
ответ дан 26 November 2019 в 17:33
поделиться

Вы можете сделать это: Найдите первый пробел от 260-го символа и используйте его в качестве метки обрезки:

$pos = strpos($body, ' ', 260);
if ($pos !== false) {
    echo substr($body, 0, $pos);
}
12
ответ дан 26 November 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: