---
title: "PHP: Mit regex Variablen aus Textdatei parsen und in Array überführen"
url: "https://www.typo3.net/d/79683-php-mit-regex-variablen-aus-textdatei-parsen-und-in-array-ueberfuehren"
source: "typo3.net"
tags: ["Community","Off-Topic","Frage","PHP"]
created: "2008-07-18"
last_reply: "2008-07-19"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# PHP: Mit regex Variablen aus Textdatei parsen und in Array überführen

Community › Off-Topic · 1 Antwort · gestartet 2008-07-18

## Eröffnungsbeitrag

**hoppingwallaby** · 2008-07-18 · [Beitrag #1](https://www.typo3.net/d/79683-php-mit-regex-variablen-aus-textdatei-parsen-und-in-array-ueberfuehren/1)

Hallo Forum,

eine kurze Frage zum Thema PHP:

Ich habe eine externe Textdatei (aus einem CGI-Parser kommend), deren Inhalt wie folgt aussieht:

$variable1 = "erster Text"
$anderevariable = "zweiter Text"
...

Diese Datei habe ich bereits via PHP eingelesen und der gesamte Dateiinhalt steht als String in einem Array zur Verfügung.

Diesen String würde ich nun gerne parsen und die einzelnen Variablen in ein Array überführen. Dieses sollte dann in etwa so o.ä. aussehen:

Array
(
    [0] => Array
        (
            [variable] => variable1
            [content] => erster Text
        )

)

Ich denke man müsste die ganze Geschichte über regex und preg_match_all oder einer ähnlichen Konstruktion angehen. Hat zufällig jemand eine Idee, wie das funktionieren könnte? Ich krieg es leider einfach nicht hin...

Vielen Dank für jede Hilfe!

## Antworten

### [#2](https://www.typo3.net/d/79683-php-mit-regex-variablen-aus-textdatei-parsen-und-in-array-ueberfuehren/2) · typo3tester · 2008-07-19

Wenn ich richtig verstehe, wie die Datei aufgebaut ist und was Dein Ziel ist,
dann könnte das so aussehen:

```php
#Öffne Die Datei, die geparst werden soll
$fh= fopen("testarray.txt","r");
$deinarray=array(); 
$counter =0;
#Durchlaufe mit einer Schleife jede Zeile
while($input = fgets($fh, 1024))
{    
     //Hole die beiden Strings für Variable und Wert 
     //vor und nach Istgleich-Zeichen können 1 oder mehrere Leerzeichen stehen
     preg_match("°\\\$(.*)\s{0,1}=\s{0,1}\\\"(.*)\\\"°",$input,$find);       
     $variable = $find[1];
     $content  = $find[2];
     
     $deinarray[$counter]["variable"]=  $variable;
     $deinarray[$counter]["content"]=  $content;  
     //Setze den Zeilen-Zähler hoch
     $counter++;
          
}
```

Gruß, Regina

---

Quelle: „PHP: Mit regex Variablen aus Textdatei parsen und in Array überführen“, typo3.net, https://www.typo3.net/d/79683-php-mit-regex-variablen-aus-textdatei-parsen-und-in-array-ueberfuehren
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
