sorry der code war etwas fehlerhaft hier mal den koriigierten mit dem ausgeschlossenen $this-> ...
allerdings bekomm ich es nicht hin, das er mir das search und replace array als preg_replace ausführt ... scheint irgendwie zu groß zu werden
<?php
#Öffne Die Datei, die geparst werden soll
$fi = fopen("database.php", "r");
$fo = fopen("database2.php", "w");
$search = array();
$replace = array();
$counter = 0;
#Durchlaufe mit einer Schleife jede Zeile
while(!feof($fi))
{
//Hole die beiden Strings für Variable und Wert
$input = fgets($fi, 1024);
//nach funktion matchen
preg_match("#function ([A-Za-z0-9]+[a-zA-Z_0-9]*)#", $input, $find);
if(!empty($find[1])) {
$search[$counter] = "#".$find[1]."#"; // funktionsnamen in array speichern
$replace[$counter] = md5($find[1]); // funktionsnamen encryptet speichern
//Setze den Zeilen-Zähler hoch
$counter++;
}
if(!empty($find[1]) && $find[1]!= "") {
//nach class matchen
preg_match("#class ([A-Za-z0-9]+[a-zA-Z_0-9]*)#", $input, $find);
$search[$counter] = "#".$find[1]."#"; // classenamen in array speichern
$replace[$counter] = md5($find[1]); // classennamen encryptet speichern
//Setze den Zeilen-Zähler hoch
$counter++;
}
// funktionsnamen ersetzen
$input = preg_replace("#function ([A-Za-z0-9]+[a-zA-Z_0-9]*)#", "function ".(md5("\\1")), $input);
// klassennamen ersetzen
$input = preg_replace("#class ([A-Za-z0-9]+[a-zA-Z_0-9]*)#", "class ".(md5("\\1")), $input);
// variablennamen ersetzen
$input = preg_replace("#[\$]{1}(?!this->)([A-Za-z0-9]+[a-zA-Z_0-9]*)#", "$".md5("\\1"), $input);
//bezeichner aus array ersetzen
//$input = preg_replace($search, $replace, $input);
echo $input."<br>";
fputs($fo, $input);
//echo $input."<br>";
}
echo "<pre>";
var_dump($search);
var_dump($replace);
?>