Цитата maasja:
я использую модификатор "e", для того чтобы вывести данные из круглых скобок в внешнею переменную »
|
Это другое дело. Ваш вариант не прокатит, ибо при флаге "e" совпадение регулярного выражение в тексте заменяется на тот текст, что возвратится в результате выполнения кода в строке замены. В вашем случае это true/false (результат присвоения переменной), т.е. пустая строка - текст удалится. Чтобы было как надо, нужно сделать функцию, которая выполняет этот код, и возвращает текст обратно. Например.
PHP код:
![Выделить весь код](images/misc/selectcode.png)
function test($text)
{
global $array;
$array = $text;
return $text;
}
$string = preg_replace('/^(.*)$/ie', 'test(\'${1}\')', $string);
Код для примера, и так не делается. Для присвоения всех совпадений переменной служит
preg_match_all
Цитата maasja:
, но если написать вместо print_r var_export, то оно выведет
Код:
'O\\\' yes' »
|
var-export - выдает PHP-код, т.е. с экранами служебных символов. Дополнительные слеши нужны для экранирования экрана кавычки.
Цитата maasja:
Я могу конечно использовать preg_match, но мне в качестве входящих паттернов, и строк массивы, так что кроме preg_replace, больше ничего не подходит. »
|
для массивов существует foreach