在php上爆炸url列表


Explode a list of URLs on php

我试图从使用爆炸函数的url列表导入url。

例如,输入

<?php 
$urls = "http://storage.google.com/gn-0be5doc/da7f835a8c249109e7a1_solr.txt
http://google.com/gn-0be5doc/1660ed76f46bfc2467239e_solr.txt
http://google.com/gn-0be5doc/6dffbff7483625699010_solr.txt
http://google.com/gn-0be5doc/ef246266ee2e857372ae5c73_solr.txt
http://google.com/gn-0be5doc/d0565363ec338567c79b54e6_solr.txt
http://google.com/gn-0be5doc/43bd2d2abd741b2858f2b727_solr.txt
http://google.com/gn-0be5doc/eb289a45e485c38ad3a23bc4726dc_solr.txt"; 
$url_array = explode (" ", $urls); 
?> 

考虑到这里没有分隔符,爆炸函数一起返回整个文本。

有办法让我分开拿吗?也许使用url的结尾作为文本部分?

提前感谢。

看起来就像你需要的:

$urls = explode( "'n",$urls );
or
$urls = explode( "'r'n", $urls );

如果你必须,你可以使用http://

如果是带有out分隔符的字符串,则:

$urls = "http://storage.google.com/gn-0be5doc/da7f835a8c249109e7a1_solr.txthttp://google.com/gn-0be5doc/1660ed76f46bfc2467239e_solr.txthttp://google.com/gn-0be5doc/6dffbff7483625699010_solr.txthttp://google.com/gn-0be5doc/ef246266ee2e857372ae5c73_solr.txt";
$urls = preg_split('@(?=http://)@', $urls);
print_r($urls);

不使用,因为它删除了分隔符

您的代码中显然有换行符,对于带/不带额外空格的换行符,您可以使用PHP_EOL作为分隔符:

$url_array = explode(PHP_EOL, $urls);