我正在制作注冊腳本,我需要保護字串免受 az、AZ、0-9 和 _ 以外的字符的影響。是否有簡單的方法來搜索字串以查找不在我的允許字符陣列中的字符?
uj5u.com熱心網友回復:
您可以使用正則運算式執行搜索:
preg_match_all('/[^A-Za-z0-9_]/', $string, $matches);
有關更多詳細資訊,請參見preg_match_all。
基本上,您正在搜索指定串列中不存在的字符。匹配項存盤在$matches. 如果回傳的陣列為空,則字串通過,否則陣列包含不允許的字符。
uj5u.com熱心網友回復:
這通常通過正則運算式來完成,它允許在字符集中進行搜索:
<?php
$input = [
"abcde",
"XXX111XXX",
"o",
"l#QW E, ???P#WE094<SDF",
"```",
"GGGG#",
"",
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
];
$output = array_filter($input, function($value) {
return preg_match('/^[a-zA-Z0-9] $/', $value);
});
var_dump($output);
輸出顯然是:
array(4) {
[0]=>
string(5) "abcde"
[1]=>
string(9) "XXX111XXX"
[2]=>
string(1) "o"
[7]=>
string(62) "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/414206.html
標籤:
上一篇:入站多部分表單資料無法將檔案寫入Apache2上的tmp目錄
下一篇:覆寫類引數Python
