標籤:++ input puts gets blog logs 位置 put nbsp
<?php$f_output = fopen("app_out.c","w");$f_input = fopen("app.c","r");while (!feof($f_input)) while (!feof($f_input)){ $next_match = 1; $line = fgets($f_input); // 1、代碼位置資訊(如:# 19 、#line 22) $pattern = ‘/(^(#line\s\d+))|(^(#\s\d+)(.*))/‘; // $replacement = ‘// ${0}‘; $replacement = ‘‘; $r = preg_match($pattern, $line); if($r ) { $line = preg_replace($pattern, $replacement, $line); break; } // 2、內嵌函式標誌資訊(如: inline ) $pattern = ‘/(\b__inline\b)|(__inline\b)/‘; // $replacement = ‘/* ${0} */‘; // $replacement = ‘inline‘; $replacement = ‘‘; $r = preg_match($pattern, $line); if($next_match && $r ) { $line = preg_replace($pattern, $replacement, $line); $next_match = 0; } // 3、$符號的處理 $contents = $line; $pattern = ‘/(\w+)(\$)(\w+)/‘; $replacement = ‘${1}__${3}‘; $matchCount = 0; while($next_match) { $r = preg_match($pattern, $contents); if($r ) { $matchCount++; $contents = preg_replace($pattern, $replacement, $contents); } else { if( $matchCount == 0 ) { break; } $line = $contents; $next_match = 0; break; } } fputs($f_output,$line);}fclose($f_input);fclose($f_output);?>
php對nesc編譯後的檔案處理