Ciao,

come faccio a modificare in un file tutte le righe che iniziano per un determinato carattere e ignorare le altre?

In pratica ho un file in cui alcune righe iniziano per # e queste non le voglio modificare. Altre righe iniziano con una lettera qualsiasi e in queste voglio fare delle sostituzioni.

Uso fgets e str_replace per leggere il file e sostituire caratteri.

Riporto il codice già indicato in un altro post:

codice:
<?php

$dir = "./files/";
$find[" = "] = " = </NOEDIT>";
//$find[PHP_EOL] = "FINE";
$find[PHP_EOL] = "FINE".PHP_EOL;

if (is_dir($dir)) 
	{
	if ($dh = opendir($dir)) 
		{
		while (($filename = readdir($dh)) !== false) 
			{
			if(preg_match('/\.properties$/sm', $filename )) 
				{
				$file = $dir."/".$filename;
				$handle = fopen("$file","r");
				while(! feof($handle))
					{
					$str = fgets($handle);
					$str = str_replace(array_keys($find), array_values($find), $str );
					//fwrite("pippo.txt",$str);
					file_put_contents($file.".html",$str);
					//echo $str;
					}
				}
			}
		fclose($handle);
		}
	}
	
?>