我有一个添加零宽度字符的函数。不过,它并没有按照我想要的方式工作。仅当它不包含正常空格时,如何让它每 15 个字符添加零空格字符?
<xsl:template match="text()[parent::d:entry]">
<xsl:call-template name="intersperse-with-zero-spaces">
<xsl:with-param name="str" select="."/>
<xsl:with-param name="max_length" select="number(15)"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="intersperse-with-zero-spaces">
<xsl:param name="str"/>
<xsl:param name="max_length"/>
<xsl:variable name="ret">
<xsl:value-of select="substring($str, 1, $max_length)"/>
<xsl:if test="string-length($str) > $max_length">
<xsl:value-of select="'​'"/>
<xsl:call-template name="intersperse-with-zero-spaces">
<xsl:with-param name="str" select="substring($str, $max_length + 1)"/>
<xsl:with-param name="max_length" select="$max_length"/>
</xsl:call-template>
</xsl:if>
</xsl:variable>
<xsl:value-of select="$ret"/>
</xsl:template>