如何从php数组中删除任何特殊字符?
我有数组,
$temp = array (".com",".in",".au",".cz");
我想要结果为:
$temp = array ("com","in","au","cz");
我通过这种方式得到了结果。
$temp = explode(",",str_replace(".","",implode(",",$temp)));
但是有没有任何php数组函数我们可以直接从数组的所有值中删除任何字符。
我试过,发现只有空格可以删除修剪,但没有任何角色。
感谢。
答案 0 :(得分:12)
使用preg_replace function。这将取代任何不是字母,数字或空格的内容。
<?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
)
?>
答案 1 :(得分:1)
我通常会发挥作用
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的每个值都将变为没有特殊字符
请参阅Demo
答案 2 :(得分:0)
作为问题的解决方案,请执行以下代码段
$temp = array (".com",".in",".au",".cz");
function strip_special_chars($v)
{
return str_replace('.','',$v);
}
$result[]=array_map('strip_special_chars',$temp);
答案 3 :(得分:0)