我正在尝试为我的数组获得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

删除多余的空格,将新行转换为逗号,或将空格转换为逗号并删除多余的空格

任何的想法?

最佳答案

由于似乎需要数组循环,因此可以使用preg_split分割所需的字符,使用PREG_SPLIT_NO_EMPTY可以消除任何多余的字符。然后就不需要explode了:

$domainlist = preg_split('/[ ,\n\r]/', $mydomain, null, PREG_SPLIT_NO_EMPTY);

09-07 18:30