【问题标题】:why text field results returned as html document in zend lucene?为什么文本字段结果在zend lucene 中返回为html 文档?
【发布时间】:2014-12-31 15:24:06
【问题描述】:

我正在使用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的新手,希望你有解决这个问题的方法

【问题讨论】:

  • 在 Lucene 文档中添加字段时,$post-&gt;title 的值是什么?这是否也包含 HTML 标签?

标签: php html zend-framework lucene


【解决方案1】:

在输出数据时,您的问题的一个解决方案可能是strip_tags

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多