0

原始输入:

班级报名。2013 年 9 月 16 日到期。

期望的输出:

class signup.<br />Expires 09/16/2013.

实际结果:

class signup <br />. Expires 09/16/2013.

尝试的代码:

<xsl:analyze-string select="$fdesc" regex="[.]\s+\w+">
    <xsl:matching-substring>
        <br/> <xsl:value-of select="."/>
    </xsl:matching-substring>
    <xsl:non-matching-substring>
        <xsl:value-of select="."/>
    </xsl:non-matching-substring>
</xsl:analyze-string>
4

2 回答 2

1

您的原始代码的问题是匹配的子字符串等于,. Expires并且您<br/>在此之前插入。

我修改了它,所以匹配的子字符串现在是class signup,我在<br />之后立即插入。

这是我的尝试:

<xsl:analyze-string select="$fdesc" regex="[^.]+">
    <xsl:matching-substring>
        <xsl:value-of select="."/><br/> 
    </xsl:matching-substring>

    <xsl:non-matching-substring>
        <xsl:value-of select="."/>
    </xsl:non-matching-substring>
</xsl:analyze-string>

请让我知道任何问题。

于 2013-09-06T17:49:40.323 回答
0

我用......解决了它。

            <span class="ccb_form_description">
                <!-- xsl:value-of select="$fdesc" / -->
                <xsl:analyze-string select="$fdesc" regex="([.])(\s+)(\w+)">
                    <xsl:matching-substring>
                        <xsl:value-of select="regex-group(1)"/>
                        <br/>
                        <xsl:value-of select="regex-group(3)"/>
                    </xsl:matching-substring>
                    <xsl:non-matching-substring>
                        <xsl:value-of select="."/>
                    </xsl:non-matching-substring>
                </xsl:analyze-string>
            </span>

这给了我:

class signup.<br>Expires 09/16/2013.

...当它只是一个以 a 结尾的句子时,没有空格并且添加 br 标记的机会更少。

于 2013-09-06T18:10:49.943 回答