Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将textarea中的空格或新行转换为逗号分隔的PHP数组_Javascript_Php_Html_Arrays - Fatal编程技术网

Javascript 如何将textarea中的空格或新行转换为逗号分隔的PHP数组

Javascript 如何将textarea中的空格或新行转换为逗号分隔的PHP数组,javascript,php,html,arrays,Javascript,Php,Html,Arrays,我试图得到数组的a,b,c,d这样的结果 文本区域字段中添加的任何格式 $mydomain = htmlspecialchars($_POST['domainlist']); $domainlist = preg_replace('/\s+/', '', $mydomain); $domainlist = preg_replace('#\s+#',',',trim($str)); $domainlist = explode(',', $mydomain); $keyword = $_POST

我试图得到数组的a,b,c,d这样的结果 文本区域字段中添加的任何格式

$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
删除额外的空白,将新行转换为逗号,或将空格转换为逗号并删除额外的空白


有什么想法吗?

既然您似乎想要一个数组循环,您可以使用
preg\u split
分割您想要的字符,并且使用
preg\u split\u NO\u EMPTY
将消除任何额外的字符。这样就不需要
爆炸

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

您还可以使用
str\u replace
查找空格和换行字符。但是我建议使用前面提到的
preg\u replace
功能

$mydomain = htmlspecialchars($_POST['domainlist']);
$domainlist = preg_replace(['/[\s]+/','/[\n]+/'], ",", $mydomain);

$domainlist = explode(',', $mydomain);

结果:

虽然此代码可以回答该问题,但提供有关此代码为什么和/或如何回答该问题的附加上下文可提高其长期价值。一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的SO访客。我认为还不完全清楚您是否打算创建数组或字符串。最后一个问题,是否可以检测是否添加了http://我想用nothing替换,因为当用户添加http://时,我得到了一个错误,因此无论用户是否添加了http://它都是相同的
str_replace
采用数组,所以
$domainlist=str_replace('http://','','$domainlist))
$mydomain = htmlspecialchars($_POST['domainlist']);
$domainlist = preg_replace(['/[\s]+/','/[\n]+/'], ",", $mydomain);

$domainlist = explode(',', $mydomain);