Как преобразовать строку электронной почты, чтобы сделать назначение успешным, используя eval () в php - PullRequest
0 голосов
/ 21 сентября 2011

Я хочу использовать функцию eval в php для выполнения операции присваивания, но значение - это адрес электронной почты, который содержит «@». Как мне преобразовать строку электронной почты, чтобы сделать назначение успешным?

Ответы [ 2 ]

1 голос
/ 21 сентября 2011

НЕ ИСПОЛЬЗУЙТЕ EVAL.

Почти нет проблем или функций, для которых eval () является лучшим ответом, всегда есть другой подход.

Подумайте об использовании ассоциативного массива для ваших переменных, тогда $data[$fieldname] = $email; даст вам возможность динамически назначать электронную почту в поле.

0 голосов
/ 21 сентября 2011
foreach ($submittion->data as $key => $value) {
        $ele_key_array = webform_component_parent_keys($form['#node'], $form['#node']->webform['components'][$key]);
        $ele_key = "['" . implode("']['",$ele_key_array) . "']";
        $ele_value = implode(',', $value['value']);
        dsm($ele_value);
        @eval("\$form['submitted']" . $ele_key . "['#default_value']=$ele_value;");
    }

коды используются в drupal для получения ключа формы и установки его значения по умолчанию

...