我想同时运行多网址,但我不想一次又一次地将其复制并粘贴到数组中。我想把它全部作为一个字符串,然后用逗号把它分解成双引号,就像我们在数组中写一样。
我想从这里
$urls = "
http://
http://
http://
http://";
进入这个
$urls = array("http://","http://","http://","http://");
这就是我到目前为止所做的
<?php
$urls = "
http://
http://
http://";
$url = preg_match_all('/"(?:''''.|[^''''"])*"|'S+/', $urls, $matches);
foreach($url as $ul){
echo $ul[1];
}
?>
<?php
$urls = "
http://
http://
http://
http://";
var_dump(array_map(function($s){return trim($s);},explode(PHP_EOL,trim($urls))));
在换行符上分解数组,首先从开头和结尾修剪空格。然后将此数组传递到array_map
,其中每个元素再次修剪以删除每个元素中的空格。
实际上,
您可以通过一些更改来使您的代码工作
<?php
$urls = "
http://a
http://b
http://c";
$url = preg_match_all('/"(?:''''.|[^''''"])*"|'S+/', $urls, $matches);
if($url != false && $url > 0 && array_key_exists(0, $matches)) {
foreach($matches[0] as $ul){
echo $ul . "<br />";
}
}
?>
您可以在修剪的字符串上使用preg_split函数或与PREG_SPLIT_NO_EMPTY
标志一起使用。
$urls = preg_split('/'s+/', trim($urls));
's+
匹配一个或多个空格。
在 eval.in 观看演示
你可以这样做;
$urls = "http:// http:// http:// http://";
$myArray= explode(" ", $urls);
echo '<pre>';
var_dump($myArray);
echo '<pre>';
您需要在其中添加分隔符