我有一些 XSLT 获取属性并将其作为 URL 的一部分发送到 php $_GET 变量。它看起来像这样:
<xsl:attribute name="href">search.php?subject="<xsl:value-of select="@level1"/>"</xsl:attribute>
它适用于@level1 的大多数值。例如,如果值为foo
,我会得到这个 url:
search.php?subject="foo"
问题是,当该值@level1
包含引号时,就像"bar" etc etc
它不起作用一样。我明白了:
search.php?subject=""bar" etc etc"
这当然会返回一个空的subject
. 如果我添加反斜杠,它会突然起作用。例如,如果我将 URL 编辑为:
search.php?subject="\"bar\" etc etc"
那么$_GET['subject]=="bar" etc etc
!那么如何让 XSL 添加反斜杠来转义这些流氓引号?我试过了
<xsl:attribute name="href">search.php?subject="<xsl:value-of select='replace(@level1,",\")'/>"</xsl:attribute>
我试过了
<xsl:attribute name="href">search.php?subject="<xsl:value-of select="replace(@level1,",\""/>"</xsl:attribute>
但似乎还没有任何效果。