Результат поиска. Как правильно организовать вывод короткого текста, которое содержит ключевое слово?

Есть небольшой поиск. Вводим ключевое слова, находит десять страниц, например. Я подсвечиваю в тексте слово, но кроме этого, мне нужно сократить этот текст. В сокращенном тексте должно быть подсвеченное слово, и этот текст должен содержать 200 символов. Как это реализовать, учитывая то, что ключевое слово может быть в начале статьи, в средине и в конце? Как обрезать текст ровно до 200 символов и что бы подсвеченное слово тоже было видно?
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@asmodeusta
PHP Developer (Laravel, Wordpress)
$range = 200;
$text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aperiam consectetur corporis excepturi minus natus quasi recusandae. Aliquid deleniti, dolores est expedita facere fugiat iste laboriosam mollitia nulla quae quas quasi qui quod rem repudiandae saepe vero! A at iste magnam qui rerum vel veritatis vero voluptates? Accusantium ad alias atque doloremque doloribus dolorum eius eos esse eveniet facilis fugit illum labore molestias mollitia neque nulla numquam odit omnis ratione recusandae repellendus rerum saepe tenetur ut velit, veniam voluptate voluptatum. Consequatur culpa delectus minus necessitatibus officiis quae quo suscipit! Dolor dolorem impedit saepe. Ab aliquam amet laudantium modi quis temporibus, vero.";
$word = "magnam ";
$position = strpos($text, $word);
$text_position = max($range/2, $position);
$print = substr($text, $text_position-$range/2, $range);
echo $print;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
daager
@daager
Что-то типа этого:
$pos=strpos($text,$word);
$word_len=strlen($word);
$offset=floor((200-$word_len)/2);
$start=$pos-$offset;
if($start<0) $start=0;
$result=substr($text,start,200);
echo $result;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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