Оборачивание каждого символа в тег

Материал из Umicms
Версия от 10:45, 13 июня 2018; Whoa (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Статья предоставлена партнером UMI.CMS Шириевым Артуром

Актуально для версии 18 и xslt-шаблонизатора.

Часто бывает нужно обернуть каждую цифру числа в какой-нибудь тег, например, для анимации различных счетчиков.

Сделать такое можно с помощью рекурсивного вызова внутри шаблона. Ниже пример реализации на XSLT:

<xsl:template name="wrap-each-character">
    <xsl:param name="string"/>
    <xsl:if test="string-length($string) &gt; 0">
        <span><xsl:value-of select="substring($string,1,1)"/></span>
        <xsl:call-template name="wrap-each-character">
            <xsl:with-param name="string" select="substring($string,2)"/>
        </xsl:call-template>
    </xsl:if>
</xsl:template>

Тег span можно заменить на любой другой нужный тег.