使用JAPI-GSA我在每个摘要中收到来自结果GSA的html标签。
如
“摘要”:“...< / b> Ce tarif n'est pasued pour les enfants voyageant seuls(UM).Tarif le
plus bas< / b&gt ;,Autres tarifs,Vol aller:Paris - 吉隆坡....< / b>“
如何从摘要中删除这些标记。 提示:我需要修改XSLT
答案 0 :(得分:0)
GSA抛出的原始搜索结果是XML格式。在此XML输出中,片段包含一定数量字符后的标记。您无法编辑XML输出,但就像您暗示的那样,您可以修改XSLT。
在XSLT文件中,添加以下模板:
<!-- **********************************************************************
REMOVE BR LINE-BREAKS FROM SNIPPETS
********************************************************************** -->
<xsl:template name="remove_br">
<xsl:param name="orig_string"/>
<xsl:variable name="removed_br">
<xsl:call-template name="replace_string">
<xsl:with-param name="find"><br></xsl:with-param>
<xsl:with-param name="replace"> </xsl:with-param>
<xsl:with-param name="string" select="$orig_string"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of disable-output-escaping='yes' select="$removed_br"/>
</xsl:template>
此模板查找标记并用空格替换它们。添加此模板后,找到创建代码段的部分,并将其替换为以下代码段:
<!-- *** Snippet Box *** -->
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="s">
<xsl:if test="$show_res_snippet != '0' and string-length(S) and
$only_apps != '1'">
<xsl:variable name="snippet">
<xsl:call-template name="remove_br">
<xsl:with-param name="orig_string" select="S"/>
</xsl:call-template>
</xsl:variable>
<xsl:call-template name="reformat_keyword">
<xsl:with-param name="orig_string" select="$snippet"/>
</xsl:call-template>
</xsl:if>
此代码调用您之前添加的模板,并生成一个代码段,其中标记将替换为空格。