php найти слово в строке по позиции символа (буквы)

Есть ли способ найти слово в строке, имея одну из позиций буквы в строке. Я имею в виду, есть ли простой способ сделать это.

У меня есть строка, например, с 250 символов и 70 слов. Мне нужно ограничить строку в моем div, поэтому мне нужно получить всю строку с полными словами до 100 символов.

-1

Решение

Это не просто. Вы автомобиль используете эту функцию.

$string = "Hello world I use PHP";
$position = 7;

function getWordFromStringInPosition ($string, $position)
{
if (strlen($string) == 0) throw new Exception("String is empty.");
if ($position > strlen($string) || $position < 0) throw new Exception("The position is outside of the text");
$words = explode(" ", $string);

$count = 0;

foreach ($words as $word)
{
if ($position > $count && $position < $count + strlen($word) + 1)
{
return $word;
}
else
{
$count += strlen($word) + 1;
}
}
}

echo getWordFromStringInPosition ($string, $position); // world
0

Другие решения

У меня есть строка, например, 250 символов и 70 слов. Мне нужно
ограничить строку в моем div, поэтому мне нужно, чтобы получить всю строку слов
до символа 100.

Вот кое-что, что я смог бросить вместе:

function getPartialString($string, $max)
{

$words = explode(' ', $string);

$i = 0;

$new_string = array();

foreach ($words as $k => $word)
{

$length = strlen($word);

if ($max < $length + $i + $k)
{
break;
}

$new_string[] = $word;

$i += $length;

}

return implode(' ', $new_string);

}

echo getPartialString('this is a test', 6); // this

echo getPartialString('this is a test', 7); // this is
0

вот самый простой ответ:

substr($text, 0, strrpos(substr($text, 0, 100), " " ));
0
По вопросам рекламы [email protected]