Autor Zpráva
m
Profil *
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
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ě?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: