为什么文本字段结果在Zend Lucene中作为HTML文档返回


why text field results returned as html document in zend lucene?

我正在使用zend lucene搜索引擎,我有一个名为title的文本字段,其值作为完整的结构化html文档打印在搜索结果页面中,这是我的代码:

在创建中添加字段:

$doc->addField(Zend_Search_Lucene_Field::Text('title',CHtml::encode($post->title), 'utf-8'));

打印搜索结果页面中的字段:

<?php  echo $query->highlightMatches(CHtml::encode($result->title)); ?>

其显示方式:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head><meta http-equiv="Content-type" content="text/html; charset=UTF-8"></head><body>بالصور: كهوف مضيئة <script type="text/javascript" src="/~arraqeeb/js/news.ticker.js"></script>
<script type="text/javascript" src="/~arraqeeb/js/imgs.js"></script>
<script type="text/javascript" src="/~arraqeeb/ckeditor/ckeditor.js"></script>
</body></html>

我的问题是我没有出现这些 HTML 标签,因为它们打印在我的 HTML 页面的正文中,所以我希望结果只是标题文本,如下所示:

بالصور: كهوف مضيئة 

对不起,我对这个问题的解释不好,我是lucene的新手,希望你有解决这个问题的方法

问题的解决方案之一可能是在输出数据时strip_tags。

<?php echo strip_tags($query->highlightMatches(CHtml::encode($result->title))); ?>