Autor | Zpráva | ||
---|---|---|---|
m Profil * |
#1 · Zasláno: 30. 1. 2011, 15:37:38
Ahoj,
mam textovy soubor s nasledujicim obsahem (oddelovac je mezera): Africa/Abidjan GMT0 Africa/Addis Ababa EAT-3 Africa/Algiers CET-1 Africa/Bangui WAT-1 Africa/Banjul GMT0 Africa/Ceuta CET-1CEST,M3.5.0,M10.5.0/3 Africa/Conakry GMT0 Africa/Dar es Salaam EAT-3 Africa/Djibouti EAT-3 Europe/Prague CET-1CEST,M3.5.0,M10.5.0/3 a promennou $time = "CET-1CEST,M3.5.0,M10.5.0/3"; ve ktere je udaj casove zony. Potrebuju z toho vypsat tagy <option> a u toho, ktery je shodny s promennou $time vypsat navic selected="selected". Zkousim to takto, ale porad to nejde: <?php $file = fopen('tmpcas.txt', "r") or exit("Unable to open file!"); while(!feof($file)) { if ( strstr($file, $time) == false) { $atribut = ''; } else { $atribut = 'selected="selected"'; } $pattern = "/(.+) (.+)/"; $replacement = "<option $atribut value=\"$2\">$1</option>"; $string = preg_replace($pattern, $replacement, $string); echo $string; } //echo '<option value="CET-1CEST,M3.5.0,M10.5.0/3"' . $atribut . '>' . "Europe/Prague" . "</option>\n"; fclose($file); ?> Snazim se dosahnout: <option value="CET-1CEST,M3.5.0,M10.5.0/3">Europe/Prague</option> a nekde <option selected="selected" value="CET-1CEST,M3.5.0,M10.5.0/3">Europe/Prague</option> Nevite nekdo, kde delam chybu? |
||
Tori Profil |
#2 · Zasláno: 30. 1. 2011, 16:00:00 · Upravil/a: Tori
Nikde nečtete řádek, se kterým pak chcete pracovat (fgets), takže pointer zůstává stále na začátku souboru a vzniká vám nekonečná smyčka. Kde se bere proměnná $string, s níž pracujete v reguláru?
Btw - jak řešíte to, že více měst je ve shodné zóně? |
||
Časová prodleva: 13 let
|
0