Source of file Default.php
Size: 2,985 Bytes - Last Modified: 2021-12-23T10:29:30+00:00
/var/www/docs.ssmods.com/process/src/thirdparty/Zend/Search/Lucene/Search/Highlighter/Default.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | <?php /** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category Zend * @package Zend_Search_Lucene * @subpackage Search * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License * @version $Id: Default.php 20096 2010-01-06 02:05:09Z bkarwin $ */ /** * @see Zend_Search_Lucene_Search_Highlighter_Interface */ require_once 'Zend/Search/Lucene/Search/Highlighter/Interface.php'; /** * @category Zend * @package Zend_Search_Lucene * @subpackage Search * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ class Zend_Search_Lucene_Search_Highlighter_Default implements Zend_Search_Lucene_Search_Highlighter_Interface { /** * List of colors for text highlighting * * @var array */ protected $_highlightColors = array('#66ffff', '#ff66ff', '#ffff66', '#ff8888', '#88ff88', '#8888ff', '#88dddd', '#dd88dd', '#dddd88', '#aaddff', '#aaffdd', '#ddaaff', '#ddffaa', '#ffaadd', '#ffddaa'); /** * Index of current color for highlighting * * Index is increased at each highlight() call, so terms matching different queries are highlighted using different colors. * * @var integer */ protected $_currentColorIndex = 0; /** * HTML document for highlighting * * @var Zend_Search_Lucene_Document_Html */ protected $_doc; /** * Set document for highlighting. * * @param Zend_Search_Lucene_Document_Html $document */ public function setDocument(Zend_Search_Lucene_Document_Html $document) { $this->_doc = $document; } /** * Get document for highlighting. * * @return Zend_Search_Lucene_Document_Html $document */ public function getDocument() { return $this->_doc; } /** * Highlight specified words * * @param string|array $words Words to highlight. They could be organized using the array or string. */ public function highlight($words) { $color = $this->_highlightColors[$this->_currentColorIndex]; $this->_currentColorIndex = ($this->_currentColorIndex + 1) % count($this->_highlightColors); $this->_doc->highlight($words, $color); } } |