我正在尝试为我的数组获得类似a,b,c,d的结果 添加textarea字段中的任何格式
$mydomain = htmlspecialchars($_POST['domainlist']);
$domainlist = preg_replace('/\s+/', '', $mydomain);
$domainlist = preg_replace('#\s+#',',',trim($str));
$domainlist = explode(',', $mydomain);
$keyword = $_POST["keyword"];
foreach($domainlist as $domain) {
$file = file_get_contents('http://' . $domain);
$searchnum = $keyword ;
if (stripos($file, $searchnum) !== false) {
echo 'record found on ' .$domain. '<br/>';
}
else {
echo 'record not found ' .$domain. ' <br/>';
}
}
例如(注意额外的空白区域)
用户添加
a,b , c, d
or
a b c d
or
a
b
c
d
将全部导致
a,b,c,d
删除额外的空格,将新行转换为逗号,或将空格转换为逗号并删除多余的空格
任何想法?
答案 0 :(得分:3)
由于您希望数组循环显示,因此您可以使用preg_split
拆分所需的字符,并使用PREG_SPLIT_NO_EMPTY
将消除任何额外内容。那么就不需要explode
:
$domainlist = preg_split('/[ ,\n\r]/', $mydomain, null, PREG_SPLIT_NO_EMPTY);
答案 1 :(得分:0)
您还可以使用str_replace
查找空格和换行符char。但我建议使用preg_replace
函数。
$mydomain = htmlspecialchars($_POST['domainlist']);
$domainlist = preg_replace(['/[\s]+/','/[\n]+/'], ",", $mydomain);
$domainlist = explode(',', $mydomain);
结果:http://sandbox.onlinephpfunctions.com/code/af212f55156ee5770a62adc4c5c70ae820e9c2df