Gast
2005-09-02, 16:06:38
Ich krieg die Krise. In PHP möchte ich eine Prozedur bauen, die folgendes tun soll:
Per readdir($dir) wird in ein Array ($content) der Ordnerinhalt, sprich die Dateien, gespeichert. In einem anderen Array speicher ich Strings ab($strings = array("AB","CD")). Nun soll die Prozedur jedes Arrayelement des $content sich vorknüpfen und den Dateinamen auf das Beinhalten aller Elemente von $strings überprüfen, per preg_match und die Strings löschen.
Sprich "AB_CD" == Wahr, "AB_DE" == Falsch.
Das, was ich mir ausgedacht habe, funktioniert, aber nicht so, wie es sollte.
$langfiles = getfiles($dir) // eigene Funktion
$expressions = array("AB","CD");
foreach($langfiles as $file)
{
foreach($expressions as $expression)
{
if (preg_match('{'.$expression.'}', $file))
{
$filename = preg_replace('{'.$expression.'}', "", $file); // !
}
}
if (!empty($filename))
{
print $filename."<br />";
}
$filename = "";
}
Da, wo ich das "!" hingesetzt habe, ist der Punkt, an dem as Haken müsste, denn eigentlich müsste das letzte Argument $filename sein, damit die Änderungen auch wirklich übernommen werden, sonst wird immer nur ein Element ersetzt und nicht alle des Strings.
Kann mir da wer weiterhelfen?
Per readdir($dir) wird in ein Array ($content) der Ordnerinhalt, sprich die Dateien, gespeichert. In einem anderen Array speicher ich Strings ab($strings = array("AB","CD")). Nun soll die Prozedur jedes Arrayelement des $content sich vorknüpfen und den Dateinamen auf das Beinhalten aller Elemente von $strings überprüfen, per preg_match und die Strings löschen.
Sprich "AB_CD" == Wahr, "AB_DE" == Falsch.
Das, was ich mir ausgedacht habe, funktioniert, aber nicht so, wie es sollte.
$langfiles = getfiles($dir) // eigene Funktion
$expressions = array("AB","CD");
foreach($langfiles as $file)
{
foreach($expressions as $expression)
{
if (preg_match('{'.$expression.'}', $file))
{
$filename = preg_replace('{'.$expression.'}', "", $file); // !
}
}
if (!empty($filename))
{
print $filename."<br />";
}
$filename = "";
}
Da, wo ich das "!" hingesetzt habe, ist der Punkt, an dem as Haken müsste, denn eigentlich müsste das letzte Argument $filename sein, damit die Änderungen auch wirklich übernommen werden, sonst wird immer nur ein Element ersetzt und nicht alle des Strings.
Kann mir da wer weiterhelfen?