• 締切済み

フォームのメールアドレスフィールドに入力されたアドレスの自動変換

自分で調べてみたのですが解決できない為質問させていただきます。 メール送信フォームでメールアドレスを入力するフィールドがあり、そこで入力されたアドレスに"@"、"."、"ー"、"~"などが入力されていた場合は自動で"@"、"."、"-"、"~"に変換されるスクリプトがわかりません。 現状は下記の変換により全角数字および全角アルファベットが入力された際に半角に変換されるにとどまっています。 ===== $mailadressはpostにて渡ってきています。 $mailadress = mb_convert_kana($mailadress, "r", "UTF-8"); ===== アドレスに"@"、"."、"ー"、"~"などが含まれていた場合は 自動的に"@"、"."、"-"、"~"に変換する方法を教えてください。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • ptakeda
  • ベストアンサー率53% (7/13)
回答No.1

$mailadress = mb_convert_kana($mailadress, "a", "UTF-8"); って事じゃなくて?ですか?

wf3255
質問者

お礼

すみません。質問しておきながらstr_replaceでできてしまいました。 申し訳ないです。 参考意見ありがとうございました。

wf3255
質問者

補足

そうなんです。 aパラメータだけだと "@"、"."、"ー"、"~" この方々が半角になってくれないんです。

関連するQ&A

  • 数値フィールドに半角数値のみを入力したい

    VB.Netで数値フィールドがあります。 この数値フィールドに半角数値の0~9のみだけを入力されるようにしたいです。 ※全角の0~9は入力はNG。もしくは、全角で入力しても、自動的に半角になれば 問題ありません。 プロパティ値を変更するなどの手段があれば、教授いただきたく。 よろしくお願いいたします。

  • エクセル2003で、数値や文字を入力するとき、自動で変換したい

    アクセスのようにカーソルが移動したときに自動で半角、全角にかわるような操作は、エクセルでもできますか? 電話番号などを全角で入れたとき、エンターをおすと、全角のまま入力されます(F8、F10キーで変換できることは知っています) これを何もせずに、カーソルを移動したときに、そのまま半角入力できますか? カーソルを移動したときに、自動で半角、全角にかわるような操作があればおしえてください。

  • phpでmb_convert_kanaについて教えてください。

    phpでmb_convert_kanaについて教えてください。 「半角」-「全角」変換を行っていましたが、現在文字化けしてしまいます。 PHP5ではmb_convert_kanaの使い方が変わったのでしょうか?

    • ベストアンサー
    • PHP
  • phpメールフォーム マック入力のみ文字化け

    phpにて自動返信付きメールフォームをUTF-8で別の方が作ったものを自分で修正中です。 サーバーはOCNのホスティングです。 入力環境がMacの人だと入ってくるメールが文字化けを起こしております。 送信に以下のコードを入れているんですが、これでは問題がありますでしょうか? windowsでは問題がありません。 ISO-2022-JPはwindowsもmacも問題がないということだと思ったのですが これが効いていないということになるのでしょうか? 勉強中の身でわからず、教えていただけますと幸いです。 よろしくお願いいたします。 <?php $name = Mb_Convert_Kana($_POST['name'],"S"); $name2 = Mb_Convert_Kana($_POST['name2'],"S"); $name3 = Mb_Convert_Kana($_POST['name3'],"S"); $yubin = Mb_Convert_Kana($_POST['yubin'],"a"); $jyusyo = Mb_Convert_Kana($_POST['jyusyo'],"S"); $tel = Mb_Convert_Kana($_POST['tel'],"a"); $mail = Mb_Convert_Kana($_POST['mail'],"a"); $comment = Mb_Convert_Kana($_POST["comment"],"S"); $comment = str_replace(" ","\n",$comment); //文字列の置換 //メール送信 $fp = popen("/usr/local/bin/nkf -e -m0 | /usr/sbin/sendmail -oi -t", "w"); fwrite($fp, "From: $mail\n"); fwrite($fp, "To: info@amano-grp.co.jp\n"); fwrite($fp, "Subject: " . mb_encode_mimeheader('お問い合わせフォームの内容', 'ISO-2022-JP') . "\n"); //fwrite($fp, "Subject: お問い合わせフォームの内容\n"); fwrite($fp, "Mime-Version: 1.0\n"); fwrite($fp, "Content-Type: text/plain; charset=ISO-2022-JP\n\n"); fwrite($fp, "以下の内容で、メールフォームでのお問い合わせがありました。\n\n"); fwrite($fp, "団体名・法人名: $name\n\n"); fwrite($fp, "所属: $name2\n\n"); fwrite($fp, "お名前: $name3\n\n"); fwrite($fp, "郵便番号: $yubin\n\n"); fwrite($fp, "住所: $jyusyo\n\n"); fwrite($fp, "電話番号: $tel\n\n"); fwrite($fp, "メール: $mail\n\n"); fwrite($fp, "お問い合わせ内容:\n$comment\n\n"); pclose($fp);

    • ベストアンサー
    • PHP
  • カナ入力でのアルファベットの変換について

    IMEでカナ入力してアルファベットに変換する時、「A」なら「えい」と入力して変換すると全角の大文字・小文字、半角の大文字・小文字の「A」「a」に変換できますが、「I」は同様に「あい」と入力して変換すると大文字の「I」(全角・半角)にしか変換できません 小文字の「i」を表示するには直接入力か、カナモードのままで「i」入力→F9かF10キーで変換しかないようです 他のアルファベットは全部大文字・小文字変換できるのに「i」のみ大文字にしか変換できない理由を教えてください 単純に不思議に思ったので・・・ お願いします

  • smartyについて

    よくあるパターンですがsmartyを継承した独自のクラスをつくっています。 携帯からのアクセスであればパケ代節約のために全角カタカナを半角にしているのですが フォームに入力された全角カタカナも半角になってしまいます。 下記のソースで実行しているので当たり前の結果なのですがPOSTされた値を除き変換するには どのような方法がありますか? class MySmarty extends Smarty { public function display($template) { // キャリアチェック if(携帯であれば) { // 変数に格納 $output = parent::fetch($template); // 全角カナを半角カナに変換 $output = mb_convert_kana($output, 'aksV', 'UTF-8'); // SJISに変換 $output = mb_convert_encoding($output, 'SJIS-win', 'UTF-8'); // 出力 echo $output; } else { // 出力(携帯以外) parent::display($template); } }

    • 締切済み
    • PHP
  • フォーム 全角カタカナへの自動変換

    以下のことを実現したいと思っております。 例) テキストボックスに【te】あるいは【て】と入力した直後に 【テ】に変換する。 一応、jqueryで入力後、フォーカスが外れると変換されるという ことはできたのですが、その場合もあくまでひらがな、半角カナ で入力された文字を全角カナに変換するというところまでで、 全角、半角英には対応できませんでした。 また、入力中つまりリアルタイムに変換するということを どう実装すれば良いのよくわかりません。(keydownを使う?) 例)であげたことを実現しているサイトもありました。 どうにか実現したいと思っておりますので、こういう方法も あるというようなヒントだけでもいただければと思いますので、 どうかご教授お願いいたします。

    • ベストアンサー
    • AJAX
  • 入力フォームの文字変換について

    宜しくお願いします。 フォームで入力された文字をphp上で全角⇔半角変換や、空白の削除などをする方法を教えて下さい。

    • ベストアンサー
    • PHP
  • 【PHP】全角記号を半角記号に変換するには?

    PHP5使用者です。 全角記号を半角記号に変換するにはどうすればいいのでしょうか? 現在、 mb_convert_kana($str, 'a' , 文字コード); で変換していますが、なぜか  !”#$%&’()*+,-./:;<=>?@[¥]^_`{|}~  のうち、  ’ ” ¥ ~ は変換してくれません。 それに本来これは記号変換の関数ではありませんし… 全角記号を半角記号に変換したい場合、皆さんはどうされてますか? よろしくお願いします。

    • 締切済み
    • PHP
  • aliasesの1フィールド目をメールアドレスへ変換して2フィールド目も表示する

    aliasesファイルの ドメイン.com~user:  user01,user05,外部メールアドレス,user04, となっている行から1フィールド目をメールアドレスに変換して 2フィールド目のユーザを1フィールド目に移動し、さらに 特定のユーザ名前だけを残すことはできますでしょうか こうなってほしいのです↓ user05 user@ドメイン.com 先ほど以下のコマンドでメールアドレスに変換することは できたのですが、関連するユーザを同じ行に表示させたいのですが、 このままではどのユーザのメールアドレスかわからないのです。 awk -F: '/~.*:/{split($1,a,"~"); printf "%s@%s\n", a[2], a[1]}' < /etc/mail/aliases どのようにしたら希望通りになりますでしょうか