Есть вот такие строки
PHP |
$config['charset'] = 'utf-8'; $config['number_format'] = ' '; $config['currency_format'] = '$%01.2f'; $config['date_format'] = '%m/%d/%Y'; |
написал вот такую регулярку
PHP |
preg_match("/\s*[\$]config\[\'([^']+)\'\]\s*=\s*\'*([^']*)\'*;s*/", $ln ,$m) |
но почему то не срабатывает вот на этой строке
PHP |
$config['number_format'] = ' '; |
когда пытаюсь изменить ее на что то типа
PHP |
$config['number_format'] = 'adsfsfsdf'; |
с помощью str_replace.
PHP |
выдает config['number_format']adsfsfsdf =adsfsfsdf 'adsfsfsdf'; |
помогите додумать регулярку)
Спустя 20 минут, 2 секунды (3.03.2009 - 20:20) twin написал(а):
Да вроде работает, правда я не понял, что достать нужно, но вроде так:
PHP |
<?php $str = "\$config['charset'] = 'utf-8'; \$config['number_format'] = ' '; \$config['currency_format'] = '$%01.2f'; \$config['date_format'] = '%m/%d/%Y';";
preg_match_all("/\s*[\$]config\[\'([^']+)\'\]\s*=\s*\'*([^']*)\'*;s*/", $str ,$out); unset($out[0][1]); echo implode(", ", $out[2]); |
Спустя 1 день, 17 часов, 54 минуты, 11 секунд (5.03.2009 - 14:14) luker написал(а):
Чтобы не применять замену. Нужно было просто разбить строку на большее количество вложения.