0

我正在尝试找到一个单词并将其替换为链接。例如:

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

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

 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")

这只是在修炼之前添加了测试这个词。我真的很感激任何帮助。

--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')" />
4

1 回答 1

1

使用analyze-string http://www.w3.org/TR/xslt20/#re ​​gex-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>
于 2012-08-13T17:42:58.280 回答