Javascript 如何将textarea中的空格或新行转换为逗号分隔的PHP数组
我试图得到数组的a,b,c,d这样的结果 文本区域字段中添加的任何格式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
$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);