Как получить первые x символов из строки, не обрезая последнее слово? - PullRequest
13 голосов
/ 09 июля 2009

У меня есть следующая строка в переменной.

Stack Overflow is as frictionless and painless to use as we could make it.

Я хочу получить первые 28 символов из вышеприведенной строки, поэтому обычно, если я использую substr , это даст мне Stack Overflow is as frictio этот вывод, но я хочу выводить как:

Stack Overflow is as...

Есть ли в PHP какие-либо готовые функции для этого, или, пожалуйста, предоставьте мне код для этого в PHP?

Отредактировано:

Я хочу, чтобы в строке было всего 28 символов, не разбив слово, если получится несколько символов меньше, чем 28, не разбив слово, это нормально.

Ответы [ 13 ]

0 голосов
/ 09 июля 2009
substr("some string", 0, x);

Из Руководства PHP

0 голосов
/ 09 июля 2009

попробовать:

$string='Stack Overflow is as frictionless and painless to use as we could make it.';
$n=28;
$break=strpos(wordwrap($string, $n,'<<||>>'),'<<||>>');
print substr($string,0,($break==0?strlen($string):$break)).(strlen($string)>$n?'...':'');

$string='Stack Overflow';
$n=28;
$break=strpos(wordwrap($string, $n,'<<||>>'),'<<||>>');
print substr($string,0,($break==0?strlen($string):$break)).(strlen($string)>$n?'...':'');
0 голосов
/ 09 июля 2009

почему бы не попробовать взорвать его и получить первые 4 элемента массива?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...