• 締切済み

2バイト文字のスペースをあるかチェックしたい

フォームcgiからの内容に2バイトのスペース(空白)「 」が入っているかのチェックをしたいのですが うまくいきません。 &amp;emsp;を入れてみたのですが、違うようでした。 (ここから) if($in{'comment'} !~ /(&amp;emsp;)/){ $error_msg .= "愛犬の好きな食材を2つの間が全角スペースではありません。<br>"; } (ここまで) これ以上手詰まりとなってしまいました。

みんなの回答

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.2

No.1 です。 use utf8; とか、 use encoding(○×△); とかがあるか無いか、あるならその内容も教えてくださいね。

hihin2003
質問者

お礼

回答ありがとうございました。 以下の内容で対応が出来ました。 $in{'spam'} !~ / /; 以下の内容でも対応が出来ました。 $in{'spam'} !~ /(?:\x81\x40)/; とりあえず解決できたことを連絡いたします。 本当にありがとうございました。

hihin2003
質問者

補足

連絡ありがとうございます。 use utf8; use encoding(○×△); はperlの記述にありません。 jcode.plは使用しています。 そっちも確認した方がよいでしょうか?

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.1

こういう質問をされると言うのは、ベタの全角スペースでうまく行かなかったからですね? 入力データとソースコードの文字コードの関係をうまく処理すればできるはずです。 utf8 とか encoding とかの use 状況によって正解が変るので、それを教えてください。 それから、$in{'comment'} と Perlソースの文字コードも教えてください。 # &amp;emsp; って、Perlの文法にはそんなの無いと思います。 HTMLと混同されてませんか?

hihin2003
質問者

補足

回答ありがとうございます。 以下の内容でよろしいでしょうか? 入力データ $in{'comment'}について htmlのファイルはshift-jisになります。 他に確認する方法がございますでしょうか? ソースコード Perlソースについて shift-jisになります。 これで、よろしいでしょうか? 質問の内容がよくわかっていないようでしたらご指摘ください。 ># &amp;emsp; って、Perlの文法にはそんなの無いと思います。 HTMLと混同されてませんか? そうですよね? 申し訳ございませんでした。 お手数かけます。 よろしくお願いいたします。

関連するQ&A