[英]How to remove any special character from php array?
如何從php數組中刪除任何特殊字符?
我有這樣的數組:
$temp = array (".com",".in",".au",".cz");
我想要的結果是:
$temp = array ("com","in","au","cz");
我通過這種方式得到了結果:
$temp = explode(",",str_replace(".","",implode(",",$temp)));
但是是否有任何 php 數組函數可以直接從數組的所有值中刪除任何字符? 我嘗試並發現只能使用trim()
刪除空格,但不能刪除任何字符。
使用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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.