0

単語を見つけてリンクに置き換えようとしています。したがって、たとえば:

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

xslで、特定の単語を検索し、その単語をリンクに置き換えようとしています。たとえば、「cultivate」という単語を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")

これは、栽培する前に単語テストを追加するだけです。助けていただければ幸いです。

--UPDATE--このようなreplaceを使用してこの問題を修正できました

<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 に答える