Hallo Ingrid,
wenn man auf die passenden Suchbegriffe stößt, dann ist das alles wesentlich leichter.
Aktuell benutze ich (nach dieser Anleitung) die in PHP hinterlegten Werte (DateTimeZone::listIdentifiers), um daraus dynamisch eine Auswahlliste zu erzeugen:
$template = '<select name="timezones"></select>';
$timezone_list = '';
$c = '';
foreach (DateTimeZone::listIdentifiers() as $v) {
if (preg_match( '~^(America|Antartica|Arctic|Asia|Atlantic|Europe|Indian|Pacific)/~', $v)) {
$e = preg_split('~/~', $v, 2, PREG_SPLIT_NO_EMPTY); // obtain continent, city
if ($c != $e[0]) {
if (!empty($c)) {
$timezone_list .= '</optgroup>';
}
$timezone_list .= sprintf(
'<optgroup label="%s">',
htmlspecialchars($e[0])
);
}
$city = $e[1];
$c = $e[0];
$timezone_list .= sprintf(
'<option value="%1$s">%2$s</option>',
htmlspecialchars($v),
htmlspecialchars($city)
);
}
}
$timezone_list = sprintf('%s</optgroup>', $timezone_list);
$template = preg_replace(
'~(?is)(<select .*?name="timezone".*?>[\r\n])~',
'$1'.$timezone_list,
$template
);
Liebe Grüße,
Felix Riesterer.
--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)