搜索并插入链接

时间:2012-08-13 17:09:35

标签: xml xml-parsing xslt-2.0

我正在尝试找一个单词并用链接替换它。例如:

<root>
<description>
Uniquely cultivate optimal supply chains before multidisciplinary infrastructures.
</description>
</root>

在xsl中,我正在尝试搜索特定单词并用链接替换该单词。例如,我想用cultivate替换“培养”一词,以便页面上的最终输出为:

 Uniquely <a href="http://google.com">cultivate</a> optimal supply chains before multidisciplinary infrastructures. 

我正在使用替换函数来解决这个问题:

<xsl:variable name="description" select="description" />

然后

 replace($description, "(.*)(cultivate.*)", "$1test$2")

这只是在培养之前添加单词test。我真的很感激任何帮助。

- UPDATE-- 我能够使用像这样的替换来解决这个问题

<xsl:variable name="description" select="description" />
Description: <xsl:value-of disable-output-escaping="yes" select="replace($description, '(.*)(cultivate)(.*)', '$1&lt;a href=http://google.com &gt;cultivate&lt;/a&gt;$3')" />

1 个答案:

答案 0 :(得分:1)

使用analyze-string http://www.w3.org/TR/xslt20/#regex-examples例如

<xsl:template match="description">
  <xsl:analyze-string select="." regex="cultivate">
    <xsl:matching-substring>
      <a href="http://example.com">
        <xsl:value-of select="."/>
      </a>
   </xsl:matching-substring>
   <xsl:non-matching-substring>
     <xsl:value-of select="."/>
   </xsl:non-matching-substring>
 </xsl:analyze-string>
</xsl:template>