mudoskudo
mudoskudo

Reputation: 99

Explode a list of URLs on php

I am trying to import urls from a list of URLS using the explode function.

For example, let's say

<?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); 

?> 

Considering that there is no delimeter here, the explode functions returns the whole text together.

Is there a way I can get them separately? Perhaps use end of url as the txt part?

Thanks in advance.

Upvotes: 3

Views: 204

Answers (2)

user557846
user557846

Reputation:

looks like all you need:

$urls = explode( "\n",$urls );

or

$urls = explode( "\r\n", $urls );

if you must you could use http://

If it was a string with out breaks then:

$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);

explode not used as it remove the delimiter

Upvotes: 4

Drakes
Drakes

Reputation: 23670

You clearly have line breaks in your code, and for line breaks with/without extra whitespace, you can use PHP_EOL as a delimiter:

$url_array = explode(PHP_EOL, $urls);

Upvotes: 1

Related Questions