Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Hilfe zu preg_match / reguläre Ausdrücke“

exo

Aktives Mitglied

Hi Leute,
also ich habe folgendes Problem, ich öffne per fopen eine Datei auf einen externen Webserver uns Speichere den kompletten Inhalt in eine Variable, das Klappt soweit ganz gut.

Jedoch muss ich jetzt natürlich alles auseinandernehmen damit ich damit arbeiten kann.
Ich bin schon soweit, das ich weis, dass es mit preg_match funktionieren sollte, jedoch komme ich immernoch net so richtig mit den RegExps klar, hab mich schon mehrfach daran versucht, aber komme einfach nicht hinter das Schema, wie genau das so funktioniert, deswegen hoffe ich jetzt ein wenig, das ihr mir eventuell helfen könnt.

Also so sieht ein auszug aus die txt aus, den ich auseinander nehmen will:
Code:
"STEAM_0:0:16026862"
	{
		"re"		"1"
		"rounds_total"		"4439"
		"name"		"Zek Th3 Le9end"
	}
	"STEAM_0:1:20168138"
	{
		"re"		"1"
		"rounds_total"		"4780"
		"name"		"inf"
	}

also das sind jetzt nur zwei Datensätze aus der Txt, sind normalerweise ein wenig mehr, aber wollte ja jetzt nicht alles hier reinposten.

So, ich bin jetzt soweit, das mein preg_match so aussieht:
Code:
preg_match('#[STEAM_](.*)[\}]#', $content, $matches);

dabei wird jedoch nur ein teil angezeigt, was auch irgendwie garnicht zusammenpasst.
in content ist halt die txt gespeichert aus fopen und in matches soll halt die gefundenen ergebnisse gespeichert werden.

hier könnt ihr euch das ergebniss mal anschauen wie es bisher aussieht.

-->

Hoffe ich konnte mich einigermaßen deutlich ausdrücken und hoffe das mir irgendwer helfen kann.

Danke schonmal und grüße
 

beautyIAF

I like HDR

AW: Hilfe zu preg_match / reguläre Ausdrücke

Was genau willst du denn ausgegeben haben?

Soll das in geschweiften Klammern angezeigt werden?
 

exo

Aktives Mitglied

AW: Hilfe zu preg_match / reguläre Ausdrücke

ja also was ich brauche ist die steam id, den namen und die rounds_total
 

Duddle

Posting-Frequenz: 14µHz

AW: Hilfe zu preg_match / reguläre Ausdrücke

ja also was ich brauche ist die steam id, den namen und die rounds_total

PHP:
/"STEAM_(.*?)".*?"rounds_total"\s*"(\d*?)"\s*"name"\s*"(.*?)"/is

bzw. gesamter Code:
PHP:
<?PHP
  //
  // Text, der durchsucht werden soll
  //
  $subject = '\"STEAM_0:0:16026862\"
    {
        \"re\"        \"1\"
        \"rounds_total\"        \"4439\"
        \"name\"        \"Zek Th3 Le9end\"
    }
    \"STEAM_0:1:20168138\"
    {
        \"re\"        \"1\"
        \"rounds_total\"        \"4780\"
        \"name\"        \"inf\"
    }';
  //
  // Der Reguläre Ausdruck
  //
  $pattern = '/"STEAM_(.*?)".*?"rounds_total"\s*"(\d*?)"\s*"name"\s*"(.*?)"/is';
  //
  // RegExp auswerten
  //
  $result = preg_match_all($pattern, $subject, $subpattern);
  //
  // Ergebnis ausgeben
  //
  echo '<p>Der verwendete Reguläre Ausdruck trifft auf den zu durchsuchenden Text '.
       (($result) ? $result.' mal ' : 'nicht ').'zu.</p>';
  //
  // Unterausdrücke ausgeben
  //
  echo '<pre>'.print_r($subpattern, TRUE).'</pre>';
?>

ergibt:

Code:
Array
(
    [0] =&gt; Array
        (
            [0] =&gt; "STEAM_0:0:16026862"
	{
		"re"		"1"
		"rounds_total"		"4439"
		"name"		"Zek Th3 Le9end"
            [1] =&gt; "STEAM_0:1:20168138"
	{
		"re"		"1"
		"rounds_total"		"4780"
		"name"		"inf"
        )
    [1] =&gt; Array
        (
            [0] =&gt; 0:0:16026862
            [1] =&gt; 0:1:20168138
        )
    [2] =&gt; Array
        (
            [0] =&gt; 4439
            [1] =&gt; 4780
        )
    [3] =&gt; Array
        (
            [0] =&gt; Zek Th3 Le9end
            [1] =&gt; inf
        )
)

(siehe )

Bei dem Delimiter musst du aber mglw. nen anderen verwenden, falls in den Benutzernamen ein "/" vorkommen könnte.
Bei Bedarf kritzel ich auch ne Erklärung zum Regex hin.


Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.075
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben