我有一个数组,其中包含几个这样的字符串:
array(133) {
[0]=>
array(1) {
["row"]=>
array(5) {
[0]=>
string(10) "testd ' /% ata"
[1]=>
string(14) "testdata 111"
[2]=>
string(17) "testdata 123"
[3]=>
string(0) ""
[4]=>
string(0) ""
}
}
[1]=>
array(1) {
["row"]=>
array(5) {
[0]=>
string(9) "198"
[1]=>
string(14) "testdata"
[2]=>
string(41) "testdat"
[3]=>
string(0) ""
[4]=>
string(0) ""
}
}
我的问题是如何检查特殊字符数组中的字符串?这些特殊字符在导入我的数据库时会导致语法错误。
我想我需要使用这样的东西吗?
preg_replace('/[^a-zA-Z0-9_ -%][().][\/]/s', '', $String);
谁能帮我解决这个问题?
好吧,我已经创建了这段代码:
// search for special chars in the import data and remove them
$illegal = "#$%^&*()+=-[]';,./{}|:<>?~";
foreach ($data_set as $data)
foreach ($data_set['data'] as $row) {
if(strpbrk($row, $illegal)) {
echo($row);
die();
}
else {
//not allowed ,escape or do what you want
echo("no characters found");
die();
}
var_dump($row);
die();
}
但这仍然给出一个错误:
遇到 PHP 错误严重性:警告
消息:strpbrk() 期望参数 1 是字符串,给定数组
文件名:控制器/import.php
行号:153
找不到字符