Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Общие вопросы по коду
Показать сообщение отдельно

Deadooshka


Сообщения: 2499
Благодарности: 682

Профиль | Отправить PM | Цитировать


Цитата maasja:
я использую модификатор "e", для того чтобы вывести данные из круглых скобок в внешнею переменную »
Это другое дело. Ваш вариант не прокатит, ибо при флаге "e" совпадение регулярного выражение в тексте заменяется на тот текст, что возвратится в результате выполнения кода в строке замены. В вашем случае это true/false (результат присвоения переменной), т.е. пустая строка - текст удалится. Чтобы было как надо, нужно сделать функцию, которая выполняет этот код, и возвращает текст обратно. Например.
PHP код: Выделить весь код

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
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:22, 06-05-2010 | #276

Название темы: Общие вопросы по коду