• ベストアンサー

perlでの検索機能

ホームページで使うPerlでの検索機能を作成しています。 メタキャラクタへの対応で検索対象文字には下記コードの置換を行っています。 「+」だけが上手く変換されないのは何故でしょうか。 (変換後を出力すると半角の空白になっています) $val =~ s/([\^\$\+\?\.\*\(\)\[\]\{\}\|\\])/\\$1/g; ※検索対象文字は「EUC」に変換しています。 また、上記コードに追加すべき文字が何かありますか。

質問者が選んだベストアンサー

  • ベストアンサー
noname#25358
noname#25358
回答No.1

 具体的にはどういう状況で使っているのでしょうか?  こちらで試しましたが、"\+" となるべき文字が勝手に半角スペースに置き換えられてしまう、といった現象は確認できませんでした。  もしくは、$val の内容を、さらにURLデコーディングしていませんか?

noname#49650
質問者

お礼

早々のご回答ありがとうございます。 ソースを確認したら、フォームに入力された値を変数に 代入する際に、「+」を半角スペースに置換していました。 ありがとうございました。

関連するQ&A