實作步驟:1、利用preg_match_all()函數來配合正規表示式來過濾字串,只保留英文字母,語法「preg_match_all("/[a-zA-Z]/u","$str ",$arr);”,字母會存入“$arr”數組中;2、使用implode()函數將結果值拼接成一個新字串即可,語法“implode($arr[0])”。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在php中,可以利用preg_match_all()函數和implode()函數來讓字串中只有字母。
實作步驟:
步驟1:利用preg_match_all()函數來搭配正規表示式來過濾字串,只保留英文字母
#preg_match_all()函數符合字串中所有出現的模式。
preg_match_all (pattern , subject ,matches,flags,offset);
pattern::要搜尋的模式,字串形式。
subject:輸入字串。
matches:多維數組,作為輸出參數輸出所有匹配結果, 數組排序透過flags指定。
flags:陣列結果排序,可以結合下面的幾個標記使用
offset: 通常, 查找時從目標字串的開始位置開始。 (單位為位元組)
<?php header("Content-type:text/html;charset=utf-8"); $str = "php.cn23v457zblog,?#$%^&())*(&^"; echo "原字符串:"; var_dump($str); preg_match_all("/[a-zA-Z]/u","$str",$arr); var_dump($arr); ?>
可以看出,結果是二維陣列。
所需的英文字母在內部的子數組$arr[0]
中,將其轉為字串即可。
步驟2:使用implode()函數將結果值拼接成一個字串
#implode() 函數可以將一個一維陣列轉換為字串。語法如下:
implode($glue,$arr)
參數 | 描述 |
---|---|
##$glue | 可選。用來設定字串,表示使用 $glue 將陣列每個元素連接在一起,預設為 $glue 為空字串。|
$arr | 必要。要組合為字串的陣列。
<?php header("Content-type:text/html;charset=utf-8"); $str = "php.cn23v457zblog,?#$%^&())*(&^"; echo "原字符串:"; var_dump($str); preg_match_all("/[a-zA-Z]/u","$str",$arr); var_dump($arr); $newStr=implode($arr[0]); echo "处理后的字符串:"; var_dump($newStr); ?>
PHP影片教學》
以上是php字串怎麼只保留字母的詳細內容。更多資訊請關注PHP中文網其他相關文章!