Ben şablon fiies değerler uygulayarak bir araç uygulamak için bu linki http://stackoverflow.com/questions/959017/php-regex-templating-find-all-occurrences-of-var kod borç var. Bu preg_replace_callback () işlevini kullanır
adlandırma benim tercih edilen yöntem name1.name2.name3 = değeri yerine, name1_name2_name3 = değer, ama ben kullanıyorum regex bir sorun var gibi görünüyor.
Bu bir işe yaramaz.
template file
.aclass{
font-width:{{newsflash.font.width}};
}
.ini values
newsflash.font.width=8px
regex used
'!\{\{(\w+).+\.\w+\}\}!'
output of print_r($matches)
Array
(
[0] => {{newsflash.font.width}}
[1] => newsflash
)
substitution is wrong because $matches[1] is wrong key key.
.aclass{
font-width:;
}
Ben zaten bu işlevselliği sağlamak ve onlar hakkında bilmek isterdim kütüphaneler vardır sanıyorum, ama ben yine de regex ile arızayı bilmek istiyorum.
Hatalı regex ile fullcode altındadır.
$inputFileName = 'templateVars.css';
$outputFileName = 'templateVals.css';
$varsFileName = 'variables.ini';
$ini_array = parse_ini_file($varsFileName);
$matchesArray = array();
function replace_value($matches) {
global $ini_array;
global $matchesArray;
print "<pre>";
print_r($matches);
print "</pre>";
return $ini_array[$matches[1]];
}
$inputFileVar = file_get_contents($inputFileName);
print "<pre>";
print_r($ini_array);
print "</pre>";
print "<pre>";
print $inputFileVar;
print "</pre>";
$outFileVar = preg_replace_callback('!\{\{(\w+).+\.\w+\}\}!', 'replace_value', $inputFileVar);
print "<pre>";
print $outFileVar;
print "</pre>";
print "<pre>";
print $matchesArray;
print "</pre>";
Eşleşmesi için Şablon
.aclass{
font-width:{{newsflash.font.width}};
color:{{newsflash.font.color}}
}
. Ini dosyası içeriği
newsflash.font.width=8px
newsflash.font.color=red