回答編集履歴

3

コードの修正

2015/10/04 14:13

投稿

hirohiro
hirohiro

スコア2068

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  foreach($array as $value) { // 配列の値を取り出す
8
8
 
9
- $hogehoge = $hogehoge . $values . "\n";
9
+ $hogehoge = $hogehoge . $value . "\n";
10
10
 
11
11
  if(preg_match('/^名前/', $value)) {
12
12
 

2

コード修正

2015/10/04 14:13

投稿

hirohiro
hirohiro

スコア2068

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ```php
4
4
 
5
- $hogehoge = "文字化けチェックの一行目";
5
+ $hogehoge = "文字化けチェックの一行目\n";
6
6
 
7
7
  foreach($array as $value) { // 配列の値を取り出す
8
8
 

1

コード追加

2015/10/04 12:33

投稿

hirohiro
hirohiro

スコア2068

test CHANGED
@@ -1,8 +1,8 @@
1
- 送信されたメールの文字コードとソースや内部処理の文字コードが異なる可能性もありますし、先頭に「名前」が来てないのかも知れませんし、一旦全て書き出してといいかも。
1
+ 送信されたメールの文字コードとソースや内部処理の文字コードが異なる可能性もありますし、先頭に「名前」が来てないのかも知れませんし、一旦全て書き出してのはどうでしょう?
2
2
 
3
3
  ```php
4
4
 
5
- $hogehoge = "";
5
+ $hogehoge = "文字化けチェックの一行目";
6
6
 
7
7
  foreach($array as $value) { // 配列の値を取り出す
8
8
 
@@ -22,6 +22,8 @@
22
22
 
23
23
  旨く動けば、メールを全て書き出しつつ、名前の行の下に「:: 」で始まる行が追加されているはずです。
24
24
 
25
+ 一行目だけ化けてて他が問題無しなら、PHPファイルの文字コードに問題あるのかも知れません。
26
+
25
27
  メール本文全部文字化けしていたり、「名前」が先頭に来ているのに「:: 」の行だけ無い場合は、文字コードの問題か、正規表現がちゃんと動いていないか。
26
28
 
27
29
  1行も出ていない場合は、配列に入れて整形してる部分に問題があるのかも。