回答編集履歴

1

2015/02/18 03:27

投稿

kobebeef
kobebeef

スコア90

test CHANGED
@@ -1,63 +1,26 @@
1
1
  下記の関数を作成して試してみました。おそらくこの方法で解決出来ると思います。
2
2
 
3
-
4
-
5
- ```lang-php
6
-
7
3
  function changeArabicNumbers($arabicNum) {
8
-
9
- $convert_list = array(
4
+ $convert_list = array(
10
-
11
- "٠" => "0",
5
+ "٠" => "0",
12
-
13
- "١" => "1",
6
+ "١" => "1",
14
-
15
- "٢" => "2",
7
+ "٢" => "2",
16
-
17
- "٣" => "3",
8
+ "٣" => "3",
18
-
19
- "٤" => "4",
9
+ "٤" => "4",
20
-
21
- "٥" => "5",
10
+ "٥" => "5",
22
-
23
- "٦" => "6",
11
+ "٦" => "6",
24
-
25
- "٧" => "7",
12
+ "٧" => "7",
26
-
27
- "٨" => "8",
13
+ "٨" => "8",
28
-
29
- "٩" => "9",
14
+ "٩" => "9",
30
-
31
- );
15
+ );
32
-
33
- return strtr($arabicNum, $convert_list);
16
+ return strtr($arabicNum, $convert_list);
34
-
35
17
  }
36
18
 
37
-
38
-
39
- ```
40
-
41
19
  フォームのテキストフィールドから正しい結果を得るには、htmlspecialchars_decode()関数を使う必要があります。
42
-
43
20
  コード例としては、次のようになります。
44
-
45
- ```lang-php
46
-
47
21
  $input_text = htmlspecialchars_decode($_POST['input_text']));
48
-
49
22
  $input_text = convertArabicNumbers($input_text);
50
23
 
51
- ```
52
-
53
-
54
-
55
24
  他にもコードの安全性を保つ為に、strip_tags()関数も追加します。コード例としては、下記のようになります。
56
-
57
- ```lang-php
58
-
59
25
  $input_text = strip_tags(htmlspecialchars_decode($_POST['input_text']));
60
-
61
26
  $input_text = convertArabicNumbers($input_text);
62
-
63
- ```