Sempervivum
Erfahrenes Mitglied
Hallo,
bei Stackoverflow bekomme ich leider keine Antwort, nur ein Downvote:
http://stackoverflow.com/questions/...er-e-in-preg-replace-by-preg-replace-callback
Ich habe versucht, preg_replace() mit der Option /e durch preg_replace_callback() zu ersetzen und bin nicht sicher, ob meine Änderung richtig ist:
Zeile 9 ist das Original und das auskommentierte meine Änderung.
Kann da jemand mit erweiterten Kenntnissen einen Blick darauf werfen und es bestätigen oder korrigieren?
bei Stackoverflow bekomme ich leider keine Antwort, nur ein Downvote:
http://stackoverflow.com/questions/...er-e-in-preg-replace-by-preg-replace-callback
Ich habe versucht, preg_replace() mit der Option /e durch preg_replace_callback() zu ersetzen und bin nicht sicher, ob meine Änderung richtig ist:
PHP:
**
* Function to encode a header if necessary
* according to RFC2047
*/
function _encodeHeader($input, $charset = 'ISO-8859-1')
{
preg_match_all('/(\s?\w*[\x80-\xFF]+\w*\s?)/', $input, $matches);
foreach ($matches[1] as $value) {
$replacement = preg_replace('/([\x20\x80-\xFF])/e', '"=" . strtoupper(dechex(ord("\1")))', $value);
//$replacement = preg_replace_callback('/([\x20\x80-\xFF])/',
// function($subs) {
// return "=" . strtoupper(dechex(ord($subs[1])));
// }, $value);
$input = str_replace($value, '=?' . $charset . '?Q?' . $replacement . '?=', $input);
}
return $input;
}
Kann da jemand mit erweiterten Kenntnissen einen Blick darauf werfen und es bestätigen oder korrigieren?
Zuletzt bearbeitet: