Latest Edit:
Well, I came up with fairly "reliable" :) solution in form of a (portable) function, but since some ppl here got irked enough by not understanding the problem and blocked this question (a military solution: kill what you do not understand), I cannot post it here. Pity.
I have a set of files, which contain constants, like below.
define ('LNG_GSU_LNK_LBL', '[details]'); define( 'LNG_METHODCROSS_GSU_CLS' ,'class'); define('GSU_METH' , 'method'); define ( 'CROSS_GSU_ACTION_NO_REMOVE', 'cannot remove \' module \'(is); deployed');
What would be most reliable method to retrieve constant names and values from given, selected file.
EDIT:
I need to get these constants into array, without defining them actually, directly by reading file, e.g.:
array('LNG_GSU_LNK_LBL'=>'[details]','LNG_METHODCROSS_GSU_CLS'=> 'class')
... etc
EDIT 2: So far I got this far:
$file_array = file($path, FILE_SKIP_EMPTY_LINES); //implode lang file into a string removing php tags $string1 = implode('', $file_array); $string2 = str_replace(array(''), '', $string1); //regex removing content between markers $regex = '/\/\*.+?\*\//si'; $replace_with = ''; $replace_where = $string2; $string3 = preg_replace($regex, $replace_with, $replace_where); //regex: remove multiple newlines $string4 = preg_replace("/\n+/", "\n", $string3);
EDIT 3:
expected result
array ( 'LNG_GSU_LNK_LBL' => '[details]', 'LNG_METHODCROSS_GSU_CLS' => 'class', 'GSU_METH' => 'method', 'CROSS_GSU_ACTION_NO_REMOVE' => 'cannot remove \' module \'(is); deployed' );