Как удалить любой специальный символ из массива php?

Как удалить любой специальный символ из массива php?

У меня есть массив,

$temp = array (".com",".in",".au",".cz"); 

я хочу результат как:

  $temp = array ("com","in","au","cz"); 

Я получил результат таким образом.

  $temp = explode(",",str_replace(".","",implode(",",$temp))); 

Но есть ли какая-либо функция php array, и мы можем напрямую удалить любой символ из всех значений массива.

я попытался и нашел, что только пробелы можно удалить с помощью обрезки, но не получить для любого персонажа.

Благодарю.

Используйте функцию preg_replace . Это заменит все, что не является буквой, числом или пространством.

СМОТРЕТЬ ДЕМО

 <?php $temp = array (".com",".in",".aus",".cz"); $temp = preg_replace("/[^a-zA-Z 0-9]+/", "", $temp ); print_r($temp); //outputs Array ( [0] => com [1] => in [2] => aus [3] => cz ) ?> 

Я вообще делаю функцию

 function make_slug($data) { $data_slug = trim($data," "); $search = array('/','\\',':',';','!','@','#','$','%','^','*','(',')','_','+','=','|','{','}','[',']','"',"'",'<','>',',','?','~','`','&',' ','.'); $data_slug = str_replace($search, "", $data_slug); return $data_slug; } 

И затем назовите это таким образом

 $temp = array (".com",".in",".au",".cz"); for($i = 0; $i<count($temp); $i++) { $temp[$i] = make_slug($temp[$i]); } print_r($temp); 

Каждое значение $ temp будет освобождено от специальных символов

См. Демонстрацию

В качестве решения вашей проблемы выполните следующий фрагмент кода

  $temp = array (".com",".in",".au",".cz"); function strip_special_chars($v) { return str_replace('.','',$v); } $result[]=array_map('strip_special_chars',$temp);