@KRHD

Как из переменной, где находится текст достать фрагмент текста?

Есть переменная $text в которой полный текст новости, я сделал поиск по сайту с подстветкой текста поиска, но вышла проблема. Я не могу выводить в превью весь текст, возможно ли как-то обрезать текст например 10 слов до найдённого слово и 10 слов после найдённого слова?
function highlighttext($text, $keyword) {
	$wordsAry = explode(" ", $keyword);
	$wordsCount = count($wordsAry);
	for($i=0;$i<$wordsCount;$i++) {
		$highlighted_text = " <font style='font-weight:bold;color:red;' class='fl'> $wordsAry[$i]</font>";
		$text = str_ireplace($wordsAry[$i], $highlighted_text, $text);
	}
	return $text; 
}
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
Kasperenysh
@Kasperenysh
Рецидив в особо острой форме))
function highlighttext($text, $keyword) {
    $text_array = explode(" ", $text);
    $key = array_search($keyworld, $text_array);
    $text_array[$key] = "<font style='font-weight:bold;color:red;' class='fl'> $text_array[$key]</font>";
    $slice = array_slice($text_array, $key - 10, 21);
    $text = implode(" ", $slice);
    return '...'.$text.'...';
}

Уточнение:
$text - весь текст
$keyworld - искомое слово
Дописал выделение искомого слова
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект