Funktioniert aber super. Danke!
Announcement
Collapse
No announcement yet.
Mehrer E-Mails aus einem Element extrahieren
Collapse
X
-
Gerade ist ein Problem mit dieser Ausgabe aufgetaucht
Wenn auf die Email-Adresse bzw. die Webadresse ein Sonderzeichen folgt, wird dieses mit in den Link übernommen.
Beispieltext:
Code:Text davor [email protected], Text danach
Code:Text davor <a href="mailto:[email protected],">[email protected],</a> Text danach
Comment
-
Man muss den regulären Ausdruck verbessern, im Moment nimmt \S+@\S+ ja alles, was nicht als "white space" betrachtet wird. Vermutlich ist
Code:regex="[\w.]+@[\w.]+"
Comment
-
xsl1 template
Code:<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes" method="xml"/> <xsl:template match="/"> <root> <xsl:apply-templates select="root"/> </root> </xsl:template> <xsl:template match="root"> <xsl:apply-templates select="element"/> </xsl:template> <xsl:template match="element"> <xsl:variable name="all"> <tree> <xsl:call-template name="all_leer"> <xsl:with-param name="str" select="text()"/> </xsl:call-template> </tree> </xsl:variable> <xsl:copy-of select="$all"/> </xsl:template> <xsl:template name="all_leer"> <xsl:param name="str"/> <xsl:choose> <xsl:when test="string-length(substring-after($str,' '))= 0"> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="contains(substring-before($str,' '),'@')"> <xsl:choose> <xsl:when test="contains(substring-before($str,' '),',')"> <email> <xsl:value-of select="substring(substring-before($str,' '),1,string-length(substring-before($str,' '))-1)"/> </email> <xsl:text>, </xsl:text> </xsl:when> <xsl:otherwise> <email><xsl:value-of select="substring-before($str,' ')"/></email> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:value-of select="concat(substring-before($str,' '),' ')"/> </xsl:otherwise> </xsl:choose> <xsl:call-template name="all_leer"> <xsl:with-param name="str" select="substring-after($str,' ')"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet>
Code:<?xml version='1.0' encoding='UTF-8' ?> <root> <tree>aaa aaaa <email>[email protected]</email>bbbb bbbb <email>[email protected]</email>, ccc ccccc <email>[email protected]</email>dddd </tree> <tree>aaa1 aaaa1 <email>[email protected]</email>bbbb bbbb <email>[email protected]</email>ccc ccccc <email>[email protected]</email>dddd </tree> </root>
Comment
Comment