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

Материал из Umicms
Версия от 13:19, 10 июня 2018; Lesnik512 (обсуждение | вклад) (Новая страница: « category:Верстка в XSLT '''Актуально для xslt-шаблонизатора''' Часто бывает нужно обернуть кажду…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск


Актуально для 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 можно заменить на любой другой тег, который нужен.