удалить теги "<" и ">" из массива в php - PullRequest
2 голосов
/ 19 января 2010

У меня есть такой массив:

Array
(
    [0] => "<one@one.com>"
    [1] => "<two@two.co.in>"
    [2] => "<three@hello.co.in>"
)

Теперь я хочу удалить "<" и ">" из массива выше, чтобы он выглядел как

Array
(
    [0] => "one@one.com"
    [1] => "two@two.co.in"
    [2] => "three@hello.co.in"
)

Как это сделать в php? Пожалуйста, помогите мне.

Я использую array_filter(); Есть ли более простой способ сделать это, кроме array_filter()?

Ответы [ 5 ]

7 голосов
/ 19 января 2010

Вы можете использовать для него array_walk:

// Removes starting and trailing < and > characters

 function trim_gt_and_lt(&$value) 
{ 
    $value = trim($value, "<>"); 
}

array_walk($array, 'trim_gt_and_lt');

Обратите внимание, что это также удалит начальные > и конечные <, что может быть не тем, что вам нужно

5 голосов
/ 19 января 2010

Во-первых, если вы хотите изменить значения, вам нужно array_map(), а не array_filter(). array_filter() выборочно удаляет или сохраняет записи массива.

$output = array_map('remove_slashes', $input);

function remove_slashes($s) {
  return preg_replace('!(^<|>$)!', '', $s);
}

Конечно, вы можете сделать это и с помощью простого цикла foreach.

1 голос
/ 19 января 2010

str_replace - это опция или любые другие функции замены в PHP, такие как preg_replace и т. Д.

0 голосов
/ 19 января 2010

Почему бы просто не использовать str_replace

$teste = array("<one@one.com>","<two@two.co.in>","<three@hello.co.in>");
var_dump(str_replace(array('<','>'),'',$teste));

Распечатает

array
  0 => string 'one@one.com' (length=11)
  1 => string 'two@two.co.in' (length=13)
  2 => string 'three@hello.co.in' (length=17)
0 голосов
/ 19 января 2010

вы проходите массив и делаете это один за другим?

$arr = array( "<one@one.com>", "<two@two.co.in>" ,"<three@hello.co.in>");
foreach ($arr as $k=>$v){
    $arr[$k] = trim($v,"<>") ;
}
print_r($arr);

выход

$ php test.php
Array
(
    [0] => one@one.com
    [1] => two@two.co.in
    [2] => three@hello.co.in
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...