PHP Problem mit preg_match_all [gelöst]

m7media

since 2001
ID: 324964
L
7 Mai 2006
855
70
Hallo,

ich habe einen String in dem steht z.b folgendes:
Code:
Hallo ich bin ein String und heiße {{var:1}}

nun möchte ich per preg_match prüfen ob in dem String ein Variablencode steht (in diesem Fall das {{var:1}}). Wenn ja, soll der Wert, also die Zahl, des Variablencodes in einem String gespeichert werden.

Jedoch verzweifel ich schon am auslesen. Wenn ich den oben angegebenen String durchsuchen lasse, bekomme ich zwar den Variablencode in ein Array gelesen, jedoch OHNE die Zahl.

Hier mal mein Code:
PHP:
reg_match_all("#\{{var|\\}}#",$row['act_content'],$treffer)

Und hier die ausgabe von $treffer:
PHP:
Array ( 
[0] => Array ( 
                   [0] => {{var 
                   [1] => }} 
                   )
 )

Wie krieg ich das richtig hin?
 
Zuletzt bearbeitet:
guckst Du hier: https://www.functions-online.com/preg_match_all.html

Hab da mal bißchen rumgespielt (ohne das Problem wirklich verstanden zu haben :mrgreen:)


Eingaben:
Code:
[font="courier"]$pattern
#{{(var):([0-9]+)}}#

$subject
Hallo ich bin ein String und heiße {{var:1}}[/font]

Ergebnis:
Code:
[font="courier"]result:
1

$matches:
array (
  0 => 
  array (
    0 => '{{var:1}}',
  ),
  1 => 
  array (
    0 => 'var',
  ),
  2 => 
  array (
    0 => '1',
  ),
)

your call:
$matches = null;
$returnValue = preg_match_all('#{{(var):([0-9]+)}}#', 'Hallo ich bin ein String und heiße {{var:12}}', $matches);[/font]