1

我使用symfony的1.4和我使用Zend的Lucene搜索像Jobbet,我需要做的搜索結果中突出顯示,我讀this,但我不understend它是如何使我的情況與symfony中(Symfony和Zend的Lucene的突出

$ highlightedHTML = $ query-> highlightMatches ($sourceHTML); 

什麼是$ sourceHTML,是這一切是由只有一排

UPD:??

$ highlightedHTML = $ query-> highlightMatches ($sourceHTML); 

它適用於我的模型,但它如何在我的視圖中實現?

+0

正是你難道不明白是什麼? – Dziamid 2011-04-18 14:48:09

+0

@Dziamid我發現這[link](http://ganeshhs.com/zend-framework/zend-search-lucene-part4-search-results-highlighting),我不在我必須做的地方,在我的表類?可能更好地使用[this](http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html)?謝謝! – denys281 2011-04-19 15:32:12

+0

**更新問題** – denys281 2011-05-31 11:20:38

回答

2

我現在不,如果它是正確的,但它的工作:) 只是鑑於:

$query = Zend_Search_Lucene_Search_QueryParser::parse($queryStr); 
$highlightedHTML = $query->highlightMatches($sourceHTML); 

在我的情況,例如:

echo $query->highlightMatches($ad->getCompany()) 
+0

這不是一個很好的方式來獲得它在你的模板視圖(例如樹枝)... – Herman 2013-05-05 07:21:16

+0

@Herman它是關於symfony 1.4的問題,沒有樹枝,它是2年前;-) – denys281 2013-05-07 08:57:29

2

您需要存儲這在您的模型中突出顯示HTML。或者創建一個可以從視圖訪問的函數。例如:

<?php 
class Model { 
    private $content; 

    public function getContent(){ 
    return $this->content; 
    } 

    public function getContentHighlighted(){ 
    // Search term, usually in $_GET or $_POST 
    $term = $_GET['searchterm']; 
    // Parse query 
    $query = Zend_Search_Lucene_Search_QueryParser::parse($term); 
    // Return highlighted 
    return $query->highlightMatches($this->getContent()); 
    } 

} 
?> 

在您的視圖(像在這種情況下:小枝)使用:

<h1>The content</h1> 
{{model.getContentHighlighted}}