我正在尝试找一个单词并用链接替换它。例如:
<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<a href=http://google.com >cultivate</a>$3')" />
答案 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>