micha
Erfahrenes Mitglied
Hallo Leute,
ich habe diese PHP Datei geschrieben.
Sie soll aus einer geladenen Datei bestimme Strings suchen und ersetzen.
1) Alle Zeilen, die mit # beginnen, müssen entfernt werden.
2) Alle Backtips ( ` ) sollen entfernt werden
3) Alle int(1) sollen durch Integer ersetzt werden
4) Alle int(11) sollen durch Integer ersetzt werden
5) Alle TYPE=MYISAM; sollen durch "" ersetzt werden
6) Alle Zeilenumbrüche sollen entfernt werden
7) Überall, wo CREATE und INSERT steht, soll ein Zeilenumbruch und danach ein CREATE oder INSERT eingefügt werden.
Als erstes entfernt dieses Script nun weder die gesamte Zeile, die mit " # " startet, noch irgendwelche Zeilenumbrüche, noch das Semicolon hinter TYPE=xxxx :/
Was er macht ist: ausschließlich das # entfernen und die Int(1x) durch Integer ersetzen. Das TYPE=xxxx entfernt er auch, lässt jedoch das Semicolon stehen.
Mir ist nicht klar warum.
Das Syntax von preg_replace ist meiner Meinung nach korrekt.
Hilfe !
ich habe diese PHP Datei geschrieben.
Sie soll aus einer geladenen Datei bestimme Strings suchen und ersetzen.
1) Alle Zeilen, die mit # beginnen, müssen entfernt werden.
2) Alle Backtips ( ` ) sollen entfernt werden
3) Alle int(1) sollen durch Integer ersetzt werden
4) Alle int(11) sollen durch Integer ersetzt werden
5) Alle TYPE=MYISAM; sollen durch "" ersetzt werden
6) Alle Zeilenumbrüche sollen entfernt werden
7) Überall, wo CREATE und INSERT steht, soll ein Zeilenumbruch und danach ein CREATE oder INSERT eingefügt werden.
Als erstes entfernt dieses Script nun weder die gesamte Zeile, die mit " # " startet, noch irgendwelche Zeilenumbrüche, noch das Semicolon hinter TYPE=xxxx :/
Was er macht ist: ausschließlich das # entfernen und die Int(1x) durch Integer ersetzen. Das TYPE=xxxx entfernt er auch, lässt jedoch das Semicolon stehen.
Mir ist nicht klar warum.
Das Syntax von preg_replace ist meiner Meinung nach korrekt.
Hilfe !
PHP:
if($action=='insert'){ // alfred alt auf
echo "<table class='font'><tr><td>";
$file = file($csv_url); //array: einträge sind die zeilen der datei
echo "sql_connect TESTUSER,Test<br>";
for($i=1;$i<count($file);$i++){ // alfred auf
$geparstezeile = str_replace("/#./i","","$file[$i]");
$geparstezeile2 = str_replace("/`/i","","$geparstezeile");
$geparstezeile3 = str_replace("/int\(1\)/i","integer",$geparstezeile2);
$geparstezeile4 = str_replace("/int\(11\)/i","integer",$geparstezeile3);
$geparstezeile5 = str_replace("/TYPE=MyISAM;/i","integer",$geparstezeile4);
$geparstezeile6 = str_replace("/\\15\\12|\\15|\\12/i","",$geparstezeile5); // (
$geparstezeile7 = str_replace("/CREATE/i","\\15 CREATE",$geparstezeile6);
$geparstezeile8 = str_replace("/INSERT/i","\\15 INSERT",$geparstezeile7);
echo "sql_execute ".$geparstezeile8."<br>";
} // alfred zu
Zuletzt bearbeitet: