Bij het mailen wordt er vaak gebruik gemaakt van een charset of een encoding.
Nou ben ik bezig om een PHP klasse te schrijven die stukken tekst van en naar bepaalde charset's kunnen coderen en decoderen.
Echter schiet het niet echt op. Op het moment heb ik alleen maar een base64 encoder.
Binnen PHP kon ik er niet meer vinden, zonder dat daarvoor extra instellingen van php voor nodig waren zoals ondersteuning van IMAP. En dat wil ik dus niet.
Hier een aantal kleine vraagjes die ik graag beantwoord ziet :
- Wanneer ik een stuk tekst terug krijg van een form veld (b.v. textarea) in b.v. $HTTP_POST_VARS wat voor een charset is dat dan ? Of is dat weer afhankelijk van de browser ?
- Welke charsets worden gebruikt in een Email bericht ?
- Is er code om stukken tekst naar deze charsets te encoderen en te decoderen ?
- Hoe laat ik bijvoorbeeld het EURO (€) teken goed zien in een email bericht ?
Nou ik hoop dat iemand mij een duwtje in de goede richting kan geven ! Misschien een wizzkid
.
Hier is de klasse in php waar de (de)(en)coders in zouden moeten.
Huhh
Geen nummering hoe doet ie dat ?
Zie [PHP] Tag
Nou ben ik bezig om een PHP klasse te schrijven die stukken tekst van en naar bepaalde charset's kunnen coderen en decoderen.
Echter schiet het niet echt op. Op het moment heb ik alleen maar een base64 encoder.
Binnen PHP kon ik er niet meer vinden, zonder dat daarvoor extra instellingen van php voor nodig waren zoals ondersteuning van IMAP. En dat wil ik dus niet.
Hier een aantal kleine vraagjes die ik graag beantwoord ziet :
- Wanneer ik een stuk tekst terug krijg van een form veld (b.v. textarea) in b.v. $HTTP_POST_VARS wat voor een charset is dat dan ? Of is dat weer afhankelijk van de browser ?
- Welke charsets worden gebruikt in een Email bericht ?
- Is er code om stukken tekst naar deze charsets te encoderen en te decoderen ?
- Hoe laat ik bijvoorbeeld het EURO (€) teken goed zien in een email bericht ?
Nou ik hoop dat iemand mij een duwtje in de goede richting kan geven ! Misschien een wizzkid
Hier is de klasse in php waar de (de)(en)coders in zouden moeten.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
| <? /** * [public] * Class to Encode and Decode inputs * Supported are : * Encode : base64 * Decode : - **/ class Coder{ /** * [private boolean] * Indicates if the original input should be returned when the function endcode() or decode() * are called and the (de)(en)code type is not supported by this class. * When TRUE the input is returned. * When FALSE null is returned. * The default value is TRUE **/ var $return_input = TRUE; /** * [private static Hashmap] * Array with all the suported Encode types. **/ var $SUPORTED_ENCODE_TYPES = Array(); /** * [private static Hashmap] * Array with all the suported Decode types. **/ var $SUPORTED_DECODE_TYPES = Array(); /** * [public] * Constructor for an Coder Object. **/ function Coder($return_input = TRUE){ $this->SUPORTED_ENCODE_TYPES = array( 'base64' => 'Base64' ); $this->return_input = $return_input; } /** * [public void] * Sets the return_input variable */ function setReturnInput(/*boolean*/$returnInput){ if ($returnInput === TRUE){ $this->return_input = TRUE; } else if ($returnInput === FALSE){ $this->return_input = FALSE; } } /** * [public boolean] * Rteurn the value of the return_input variable */ function getReturnInput(){ return $this->return_input; } /** * [public String] * Returns the encoded value of the toEncode variabele. * If the type is not supported, depending on the return_input variable, * the value of the toEncode variabele or null is returned. */ function encode(/*String*/$toEncode,/*String*/$type){ $encoded = null; $functionName = $this->getFunctionNameForType($type,$this->SUPORTED_ENCODE_TYPES); if($functionName !== null){ $functionName = 'encode' .$functionName; $encoded = $this->$functionName($toEncode); } else if($this->return_input === TRUE ) { $encoded = $toEncode; } return $encoded; } /** * [public String] * Returns the decoded value of the toDecode variabele. * If the type is not supported, depending on the return_input variable, * the value of the toDecode variabele or null is returned. */ function decode(/*String*/$toDecode,/*String*/$type){ $decoded = null; $functionName = $this->getFunctionNameForType($type,$this->SUPORTED_DECODE_TYPES); if($functionName !== null){ $functionName = 'decode' .$functionName; $decoded = $this->$functionName($toDecode); } else if($this->return_input === TRUE ) { $decoded = $toDecode; } return $decoded; } /** * [private String] * Checks to see if the type is suported by this class, according to the given array types. * When the type is supported the functioName is returned. Els null is returned. */ function getFunctionNameForType(/*String*/$type,/*Hashmap*/$types){ $functionName = null; if(!is_string($type)){ return $functionName; } $type = trim($type); $keys = array_keys($types); if(in_array($type,$keys)){ $functionName = $types[$type]; } return $functionName; } /** * Base64 Encodes a given String (toEncode varaiable) */ function encodeBase64(/*String*/$toEncode){ $encoded = base64_encode($toEncode); return $encoded; } } ?> |
Huhh
Zie [PHP] Tag
edit:
Leuke die nummering
en oranje staat niet op blauw !
Maar PHP code blijft wel mooi staan zoals ie stond :!
Alle verandering is moeilijk.
<b>?</b>
Leuke die nummering
Maar PHP code blijft wel mooi staan zoals ie stond :!
Alle verandering is moeilijk.