can someone help me construct an preg_match pattern to match this data?
I have data like this
ftp://username:password@server <br>
ftp://username:password@server <br>
ftp://username:password@server <br>
ect
i would like an preg_match to match each line as an variable, and use that in an foreach loop
thanks
you dont need preg_match. You can use explode. Make sure to use array_pop after explode to eliminate the last empty key.
<?php
$linkArray = explode(" <br>",$links);
array_pop($linkArray);
?>
Now each value of the array will contain the link but not "br" tag. I think that should do.
Is your data in the below way ?
$str= "ftp://username:password@server <br>
ftp://username:password@server <br>
ftp://username:password@server <br>";
If yes, my solution will work.
in simple case it is... but you should check rfcs to see what characters allowed or not allowed in such URLS.
<?php
$lines=explode("
","ftp://username:password@server <br>
ftp://username:password@server <br>
tp://username:password@server <br>
ftp://username:password@server <br>");
foreach ($lines as $line) {
if (preg_match('/^ftp:\/\/[\da-z]+:[^\@]+\@[^\s]+ <br>\s*$/',$line)) {echo "$line is ok
";}
}