2012-01-22 9 views
2

私は以下の配列に問題があります.1番目のもの(Alpe d'Huezであるはずです)がエスケープされていないか見つかっていません。配列の問題でPHPがエスケープアポストロフィー

アポストロフィを間違ってエスケープしていますか?

<?php 

    $images = array (

    'Alpe D\'Huez' => 'images/flags/small/france_sm.jpg', 
    'Le Corbier' => 'images/flags/small/france_sm.jpg', 
    'Les Deux Alpes' => 'images/flags/small/france_sm.jpg'  
); 

    if (isset($images[$this->item->title])) { 
?> 
<?php } ?> 
+0

「見つからない」とは、具体的にはどういう意味ですか?どのデータを比較しているのかわかりますか? –

+0

どこから '$ this-> item-> title'が来て、誰がそれをエスケープしていますか? – rauschen

+0

'$ this-> item-> title'の値は何ですか?上記のテキストでは、コードに大文字の 'D'を、小文字の' d'を使用していることに注意してください。 – Gerben

答えて

1

これは完全にそのようにエスケープされています。

おそらく、あなたが比較している値に問題があります。 「自分の価値にアポストロフィが二重エスケープであるかどうか`またはのような他のアポストロフィの種類を試して"

0

bardiirが言うように、それはうまく逃れの「アルペD \\」ユエを試してみてください。あなたの質問は "Alpe d'Huez"(小文字のd)ですが、あなたの配列は "Alpe D'Huez"(大文字のd)と書かれています。大文字と小文字が区別されます - それが問題なのでしょうか?