Esempio n. 1
0
        // убираем теги
        $fullText = strip_tags($post->full);
        // вычисляем позиции первого вхождения для всех слов фразы
        foreach ($searchWords as $searchWord) {
            $pos[$searchWord] = mb_stripos($fullText, $searchWord);
        }
        // берем позицию вхождения первого слова из поисковой разы
        $start = $pos[$searchWords[0]];
        // проходимся циклом по символам строки с полным текстом статьи, начиная от позиции вхождения слова
        // из поисковой фразы. Проход производим в обратном порядке. Останавливаемся, когда найдем точку.
        // Начиная с этой позиции и возьмем подстроку с выдержкой для вывода подсвеченного слова из поисковой фразы.
        $symbol = '';
        $i = 1;
        while ($symbol != '.') {
            $position = $start - $i;
            $symbol = GlobalHelper::utf8char($fullText, $position);
            $i++;
        }
        $full = mb_substr($fullText, $position + 1, 200);
        // подсвечиваем слова из поисковой фразы
        $full = preg_replace($patterns, $replace, $full);
        // формируем блок для вывода
        $full = '<div style="border-radius: 5px; border: 1px #eee solid; padding: 10px; margin: 7px; background-color: #f5f5f5;"><strong style="display: block;">Выдержка из полного текста статьи:</strong>' . $full . ' ...</div>';
    }
    ?>
    <div id="content-item">
        <div id="content-item-top" class="content-item-pink"><a href="<?php 
    echo $post->link;
    ?>
"><?php 
    echo $title;