Hallo Leute.
Folgendes Problem. Ich versuche mittels RegEx eine php Datei wo nur
Konstanten definiert werden, die Werte bzw. ein Wert auszulesen. Als
Anhangstpunkt habe ich den Namen der Konstante.
Mein RegExp sieht momentan folgendermaßen aus:
Mein Problem ist nun das, wenn ich den Inhalt von der Konstante
_CONST_I_ suche, gibt er mir folgendes aus:
Es liest alles bis zum letzem ); aus. Wie stelle ich es aber an das
es schon bei der ersten geschlossenen Klammer aufhört?
cheers
Folgendes Problem. Ich versuche mittels RegEx eine php Datei wo nur
Konstanten definiert werden, die Werte bzw. ein Wert auszulesen. Als
Anhangstpunkt habe ich den Namen der Konstante.
PHP-Code:
define('_CONST_I_', '<p>Text</p>');
define('_CONST_II_',
'<p>Text</p>');
define('_CONST_III_',
'<p>Text</p>'
);
define(
'_CONST_IV_',
'<p>Text</p>'
);
PHP-Code:
if (file_exists($file) && is_readable($file)) {
$fileValue = join('', file($file));
$pattern = '/define\([\s]*\'' . $constant .'\'[\s]*,[\s]*\'(.*)\'[\s]*\);/si';
preg_match_all($pattern, $fileValue, $match);
}
_CONST_I_ suche, gibt er mir folgendes aus:
PHP-Code:
Array
(
[0] => Array
(
[0] => define('_CONST_I_', '<p>Text</p>');
define('_CONST_II_',
'<p>Text</p>');
define('_CONST_III_',
'<p>Text</p>'
);
define(
'_CONST_IV_',
'<p>Text</p>'
);
)
[1] => Array
(
[0] => '<p>Text</p>');
define('_CONST_II_',
'<p>Text</p>');
define('_CONST_III_',
'<p>Text</p>'
);
define(
'_CONST_IV_',
'<p>Text</p>
)
)
es schon bei der ersten geschlossenen Klammer aufhört?
cheers
Kommentar