обрезать поле электронной почты в php - PullRequest
1 голос
/ 27 февраля 2020

учитывая следующий код, мне нужно обрезать поле электронной почты. Что было бы лучшим способом сделать это с помощью функции обрезки? Что бы я ни пытался, я получаю ошибки

function email_send($cr) {

    $circ = node_load($cr[0]);
    $pattern = node_load($circ->field_pattern['und'][0]['nid']);


    if ($pattern->field_email['und'][0]['email']) {
        $msg = email($cr);

        $name = '';
        if ($pattern->field_firstname['und'][0]['value']) $name = $pattern->field_firstname['und'][0]['value'] . " ";
        if ($pattern->field_lastname['und'][0]['value']) $name = $pattern->field_lastname['und'][0]['value'];

        $data = [
            'to' => [['name' => $name,'email'=> $pattern->field_email['und'][0]['email']]],
            'subject' => 'header',
            'message' => $msg,
            'pattern_nid' => $pattern->nid,
            'category' => 'reservereceive'
        ];

        var_dump($data);
        return notif_send_email2($data);

, например, если я урежу $ data непосредственно перед функцией возврата, я не вижу результата. строка электронного письма является пустой строкой

["to"]=>
  string(0) ""

$trimmed_data = array_map('trim', $data);
print_r($trimmed_data);

Ответы [ 2 ]

0 голосов
/ 27 февраля 2020

Почему вы не просто поставили trim($pattern->field_email['und'][0]['email'])?

0 голосов
/ 27 февраля 2020

Оберните $pattern->field_email['und'][0]['email'] с помощью функции обрезки в php, чтобы вернуть очищенную электронную почту в переменную, как показано ниже:

$trimmed_email = trim($pattern->field_email['und'][0]['email'])

Теперь вы можете использовать $trimmed_email для замены последующих -> $pattern->field_email['und'][0]['email'].

Пожалуйста, ознакомьтесь с использованием array_map() здесь -> https://www.w3schools.com/php/func_array_map.asp

Полагаю, вам не понадобится обрезать все данные.

...