[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Прочитать определённые символы из строки
rreimche
Здравствуйте.

Допустим, есть переменная $string в которой некий конфигурационный текст, в котором встречается такие конструкции:

define('CONSTNAME1', 'constvalue1');
define('CONSTNAME3', 'constvalue3');
define('CONSTNAMEn', 'constvaluen');


Как можно из этой переменной получить значения constvaluen, т.е. присвоить их соответствующим переменным?

Т.е.

$const1 = ...;
$const2 = ...;
$constn = ...;
Игорь_Vasinsky
$var = CONST

nтолько нафиг и константы и переменные?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
rreimche
Задача на в переназначении значений констант на переменные, а в вытаскивании этих значений из другого php файла. Перед всем, что я написал, у меня идёт

$string = file_get_contents('config.php');


include этот файл нельзя, потому что он сразу кучу всего запускает.
Игорь_Vasinsky
вынеси все нужные константы в отдельный файл и инклудь его и в конфиг и куда те надо.

и не занимайся ерундой. парсить конфиг php - я даже не знаю как это назвать.

если бы ты хранил в ini файле - куда не шло. а так - как я предложил.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
rreimche
я делаю тему для вордпресс. нужно чтобы при перемене места жительства системы на другой сервер, другую базу данных, всё не сломалось. и конкретно этот скрипт этой темы не учавствует в общем вордпрессовском потоке, а значит я там не могу использовать его вшитые функции.
rooor
    $str = "define('CONSTNAME1', 'constvalue1');
define('CONSTNAME2', 'constvalue2');
define('CONSTNAME3', 'constvalue3');"
;

preg_match_all('#define\(\'[A-Z0-9]+\',\s\'(.*)\'#iu', $str, $out);
echo "<pre>";
print_r($out[1]);

ps: в регулярках не силен
rreimche
Цитата (rooor @ 18.10.2012 - 02:18)
    $str = "define('CONSTNAME1', 'constvalue1');
            define('CONSTNAME2', 'constvalue2');
            define('CONSTNAME3', 'constvalue3');"
;
   
    preg_match_all('#define\(\'[A-Z0-9]+\',\s\'(.*)\'#iu', $str, $out);
    echo "<pre>";
    print_r($out[1]);

ps: в регулярках не силен

Спасибо. Вроде бы что-то получается.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.