$def ) { $newcfg[$key] = ''; } foreach ( $cfg as $l ) { // Remove inline /* */ Blocks $l = preg_replace( '/\/\*.*\*\//', '', $l ); $l = preg_replace( '/#.*$/', '', $l ); $l = preg_replace( '/\/\/.*$/', '', $l ); $v = $s = trim( $l ); if ( $cm ) { if( substr( $v, -2 ) == '*/' ) { $v = ''; $cm = FALSE; } else if( $i = strpos( $v, '*/' ) ) { $v = substr( $v, $i ); $cm = FALSE; } else { $v = ''; } } else { if( $v{0}.$v{1} == '/*' ) { $v = ''; $cm = TRUE; } else if ( $i = strpos( $v, '/*' ) ) { $v = substr( $v, 0, $i ); $cm = TRUE; } } if ( $i = strpos( $v, '=' ) ) { $key = trim( substr( $v, 0, $i - 1 ) ); $val = str_replace( ';', '', trim( substr( $v, $i + 1 ) ) ); $newcfg[$key] = $val; $dfncfg[$key] = $val; } } $cfg = file( $cfgfile ); $cm = FALSE; foreach ( $cfg as $l ) { $l = preg_replace( '/\/\*.*\*\//', '', $l ); $l = preg_replace( '/#.*$/', '', $l ); $l = preg_replace( '/\/\/.*$/', '', $l ); $v = $s = trim( $l ); if ( $cm ) { if( substr( $v, -2 ) == '*/' ) { $v = ''; $cm = FALSE; } else if( $i = strpos( $v, '*/' ) ) { $v = substr( $v, $i ); $cm = FALSE; } else { $v = ''; } } else { if( $v{0}.$v{1} == '/*' ) { $v = ''; $cm = TRUE; } else if ( $i = strpos( $v, '/*' ) ) { $v = substr( $v, 0, $i ); $cm = TRUE; } } if ( $i = strpos( $v, '=' ) ) { $key = trim( substr( $v, 0, $i - 1 ) ); $val = str_replace( ';', '', trim( substr( $v, $i + 1 ) ) ); $newcfg[$key] = $val; } } echo "
'; /* Write the options to the file. */ $fp = fopen( $cfgfile, 'w' ); fwrite( $fp, " $v ) { if ( $k{0} == '$' ) { if( $i = strpos( $k, '[' ) ) { if( strpos( $k, '[0]' ) ) { if( $not_first ) { fwrite( $fp, ', ' ); } fwrite( $fp, substr( $k, 0, $i) ); $not_first = TRUE; } } else { if( $not_first ) { fwrite( $fp, ', ' ); } fwrite( $fp, $k ); $not_first = TRUE; } } } fwrite( $fp, ";\n" ); foreach ( $newcfg as $k => $v ) { if ( $k{0} == '$' ) { fwrite( $fp, "$k = $v;\n" ); } } fwrite( $fp, '?>' ); fclose( $fp ); ?>