0

私の最終的なコードは次のようになります。

<a href="/galleries/hairtinsels/hairtinsel/hairtinsels.jpg" rel="shadowbox[gallery]" title="Hair Tinsels, 24 Colour Choices, 36\" Long">

その部分に注意してください36\"- は"a でエスケープされている\ので、動作するはずですよね? いいえ、シャドーボックスでは、タイトルが途切れて次のように表示されます。

ヘアティンセル、24 色の選択肢、36\

これは気が遠くなるような...何かアイデアはありますか?

これは、PHP の関数を使用してエスケープaddslashes()されました。このギャラリーは、配列をループする PHP によって生成されます。

4

1 に答える 1

3

コンテキストごとに適切なエスケープ機能が必要です。そして、HTML内では、が必要htmlspecialchars()です。二重引用符で囲まれた引用符は。である必要があります&quot;。(バックスラッシュを使用した一般的なC文字列エスケープは、HTML / XML / SGMLでは機能しません。)

非常に一般的には、charsetパラメータも必要です。

 htmlspecialchars($string, ENT_QUOTES, "UTF-8");
 // and ENT_QUOTES just in case you had single quote attributes
于 2012-02-07T19:23:15.423 に答える