エスケープって大事。プログラムでは文字列を「”」または「’」で囲いますが、文章の中にも「”」「’」があったりすると・・・
「I’m sorry」
「’」で囲うと・・・
「’I’m sorry’」
となります。プログラムは前の方から順番に文字を見ていくので、1文字目の「’」と3文字目の「’」で囲まれた「I」として認識します。そして、4文字目のm以降は正しく認識されなくなってしまいます。
なので、文字列内の「’」を無効化(プログラム的な意味を持たないようにする)してあげる必要があるんですね。
この場合はエラーが返ってくるだけだと思うのですが、こういうのを利用してサイトのデータを表示させたり、取得できるようすることも出来ちゃいます。
そんなことになると大変なのでエスケープ処理が必要なのです。
WordPressのエスケープ用の関数がいくつかあるので載せておきます。
・文字列をエスケープしたい
esc_html($text);
・htmlタグの属性をエスケープしたい
esc_attr($attr);
・URLをエスケープしたい
esc_url($url)
他にもエスケープ用の関数はあるんですが、よく使うのはこの辺。
コメント