CGI-BBS > CGI > Perl > Perlの改造でー(全角ハイフン)を-(半角ハイフン)に置換したい。


カレッヂ
カレッヂ


質問者 SKLD  投稿日 6/18(水) 17:42:53
$value =~ s/&/&/g;
のように全角ハイフン(ー)を半角ハイフン(-)に置換したいのですが、

	文字によってはメタ(特殊)コードと合致してしまうものがあり、 その部分が実行されて文字化けとなります。
	 '―ソ欺圭構蚕十申貼表予兔喀杤噂饅'などが主なものです。 
	 これを回避するには、""で囲まれた文字列はメタ処理をするので、''で囲む方法があります。 
	(レスキューさんのFAQより) 

とのことでしたので、

$value =~ s/\ー/\-/g;
$value =~ s/'ー'/'-'/g;

など、いろいろ試したのですがうまくいきません。

「半角ハイフンで入力してください」等、入力者に注意を促すしかないのでしょうか...

お知恵を拝借させていただければ幸いです。

プロバイダ参照:
サーバのOS:WINサーバ
パソコンのOS:MacX
エディタ:
FTPソフト:
サーバ移転:していない
改造:している 改造前正常動作
CGI習熟度:middle

回答者 おっさん  [削除]  投稿日 6/18(水) 19:38:21
こんじゃだめ?

$value =~ s/\x81\x5B/-/g;
質問者 SKLD  [削除]  投稿日 6/19(木) 08:58:07
>>おっさん様

「\x81\x5B」で検索してみたら関連する情報も見つかりました。
本当にありがとうございました。

このページは終了したので返信(回答)は書きこめません
 


Web裏技