質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

4046閲覧

メールフォームの機種依存文字の変換方法

honjyou

総合スコア10

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/06/27 11:23

PHPのメールフォームの作成しているのですが
機種依存文字「(株)」などが「?」と表示されで変換されないので
置換を用いて変換を行いたいのですが
どの部分を変更すればよいのかお教えいただけないでしょうか

下記はメールフォームの送信のPHPです

PHP

1//=========================================================== 2//ユーザへ仮登録メール送信start 3//=========================================================== 4 5//宛先 6//include_once("include/mail_to.php"); 7$to = $get_send_form_data["メールアドレス"]; 8//ここまで 9 10//返信メールの作成 11$mail_data = ""; 12$mail_data .= "\n"; 13 14foreach ($get_send_form_data_keys as $key) { 15 16 17 $disp_key = str_replace("_","",$key); 18 $mail_data .= "【".$disp_key."】 ".sys_key(str_replace("\n"," ",$get_send_form_data[$key]))."\n"; 19} 20 21 22$mail_data .= "\n送信日付:".$date."\n\n"; 23 24 25$mail_data = mb_convert_encoding($mail_data,"SJIS","AUTO"); 26//ここまで 27 28//件名 29$subject = mb_convert_encoding($mail_subject_client,"SJIS","AUTO"); 30//ここまで 31 32$MailFrom = mb_encode_mimeheader (mb_convert_encoding($mail_from_name,"ISO-2022-JP","AUTO")) . "<".$mail_from_add."> \n"; 33 34//ヘッダー情報 35$headers = 'MIME-Version: 1.0' . "\n"; 36$headers .= 'Content-type: text/plain; charset=ISO-2022-jp' . "\n"; 37$headers .= 'From: ' . $MailFrom; 38//ここまで 39 40//メールの送信 41mb_send_mail($to_01,$subject,$mail_data,$headers); 42//mb_send_mail($to_02,$subject,$mail_data,$headers); 43//ここまで 44//=========================================================== 45//クライアントへメール送信start 46//=========================================================== 47if($redirect){ 48 //件名 49 $subject = mb_convert_encoding($mail_subject_redirect,"SJIS","AUTO"); 50 //ここまで 51 52 //リダイレクトメール用本文 53 $redirect_mail_txt = file_get_contents('include/redirect_mail_txt.inc'); 54 $redirect_mail_footer = file_get_contents('include/redirect_mail_footer.inc'); 55 $redirect_mail_data = $redirect_mail_txt . "\n"; 56// $redirect_mail_data = mb_convert_encoding($get_send_form_data["ご担当者名"] . "様\n\n","SJIS","UTF-8") . $redirect_mail_txt; 57 if($giving_mail){ 58 $redirect_mail_data .= "\n" . mb_convert_encoding("■お問い合せの内容","SJIS","AUTO") . $mail_data; 59 } 60 $redirect_mail_data .= "\n\n" . $redirect_mail_footer; 61 //ここまで 62 63 //宛先 64 foreach ($get_send_form_data_keys as $key) { 65 if(strpos($key,"メールアドレス")!==false){ 66 $to = $get_send_form_data[$key]; 67 } 68 } 69 //ここまで 70 71 //メールの送信 72 mb_send_mail($to,$subject,$redirect_mail_data,$headers); 73 //ここまで

下記の置換用のソースをつけたいです

PHP

1function replaceText($str){ 2$ret = $str; 3$arr = array( 4'\xE2\x85\xA0' => 'I', 5'\xE2\x85\xA1' => 'II', 6789'\xE3\x88\xB2' => '(有)', 10'\xE3\x88\xB9' => '(代)', 11); 12return str_replace( array_keys( $arr), array_values( $arr), $str); 13}

こちらの関数を呼び出す場合どのようにすればよいでしょうか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

php

1$mail_data .= "【".$disp_key."】 ".sys_key(str_replace("\n"," ",$get_send_form_data[$key]))."\n";

php

1$mail_data .= "【".$disp_key."】 ".replaceText(sys_key(str_replace("\n"," ",$get_send_form_data[$key])))."\n";

にすればいいと思います。

投稿2016/08/02 04:16

stmkza

総合スコア478

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問