"We are back" « oc.at

PHP Regex Problem

kleinerChemiker 22.06.2013 - 13:03 1286 2
Posts

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4307
folgende Regex:
Code: REGEX
/^\$_(\w*) ?\[['"](\w*)['"]\]$/i
wird auf diesen String: $_SERVER ["HTTP_CF_CONNECTING_IP"]
mit preg_match() angewandt. Ich hätte gerne, daß ich in der Variable "SERVER" und "HTTP_CF_CONNECTING_IP" zurück bekomme. Aber die Regex liefert überhaupt kein resultat, findet also keine Übereinstimmung. Wo ist der Fehler?

tia

Luzandro

Here to stay
Avatar
Registered: Mar 2006
Location: 2482
Posts: 708
funktioniert bei mir, ich habe nur im Pattern die Single-Quotes escaped, aber das hast du wahrscheinlich eh, weil die Backslash davor werden vom Forum geschluckt und sonst müsstest du ja einen Syntax Error bekommen?

Code: PHP
<?php
$string = '$_SERVER ["HTTP_CF_CONNECTING_IP"]';
$pattern =  '/^\$_(\w*) ?\[["\'](\w*)["\']\]$/i';
preg_match($pattern, $string, $matches);
print_r($matches)
?>

Array
(
    [0] => $_SERVER ["HTTP_CF_CONNECTING_IP"]
    [1] => SERVER
    [2] => HTTP_CF_CONNECTING_IP
)

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4307
danke, der Fehler lag wo anders. Ich hab Pattern und String vertauscht gehabt.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz