属性を取得し、それを URL の一部として php $_GET 変数に送信する XSLT があります。次のようになります。
<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>
しかし、まだ何も機能していないようです。