我使用symfony 1.4并使用Zend Lucene搜索,如 Jobbet 我需要将搜索结果突出显示,我读 this ,但我不会在symfony(
$ highlightedHTML = $ query-> highlightMatches ($sourceHTML);
什么是$ sourceHTML?这只是一排吗?
更新:
$ highlightedHTML = $ query-> highlightMatches ($sourceHTML);
它适用于我的模型,但在我看来它是如何实现的?
答案 0 :(得分:2)
我现在不,如果它是对的,但它是工作:) 只是在视野中:
$query = Zend_Search_Lucene_Search_QueryParser::parse($queryStr);
$highlightedHTML = $query->highlightMatches($sourceHTML);
以我为例:
echo $query->highlightMatches($ad->getCompany())
答案 1 :(得分: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());
}
}
?>
在您的视图中(例如在这种情况下:Twig),您使用:
<h1>The content</h1>
{{model.getContentHighlighted}}