Find only certain URLs from page ... regex (semi-complete script)
Posted on
16th Feb 2014 07:03 pm by
admin
Hi guys,
What I need to do is take a page & extract all the URLs from the page & place them in an array.
However I only need to grab certain URLS
eg.
site1.com
site1.com/folder/thisfile.zip
site2.com
site2.com/some/folder/or/subfolder/1.mp3
site3.com
but then leave out of the array
site4.com
site5.com/the/script/needs/to/be/able/to/grab/sub/folders/and/files/2.mp3
Here's the script I've got so far but this will grab ALL the links ... so I need to modify this & perhaps use an if or switch statement to check whether it's a link I actually want...
<?php
$string = '<a href="http://www.example.com">Example.com</a> has many links with
examples <a href="http://www.example.net/file.php">links</a> to many sites and
even urls without links like http://www.example.org just to fill the gaps and
not to forget this one http://phpro.org/tutorials/Introduction-to-PHP-Regex.html
which has a space after it. The script has been modifiied from its original so now
it grabs ssl such as https://www.example.com/file.php also';
/**
*
* @get URLs from string (string maybe a url)
*
* @param string $string
*
* @return array
*
*/
function getUrls($string)
{
$regex = '/https?://[^" ]+/i';
preg_match_all($regex, $string, $matches);
return ($matches[0]);
}
$urls = getUrls($string);
foreach($urls as $url)
{
echo $url.'<br />';
}
?>
No comments posted yet
Your Answer:
Login to answer
339
23
Other forums
regex for quoted text within a string
I am still getting the hang of regex expressions, but I cant seem to figure out how I would escape q
foreach help.
Hello all,
First time I'm attempting to use a foreach statement and was just wondering if my
simplexml and xpath - Need some help
Hello,
I am trying to parse an xml which comes back from Amazon and I am trying to know how m
How to read CSS message data
Hi,
I have a requirement here. When working as a Dev angel for multiple customers its really di
TinyMCE / Ajax Postback Problem
Hiya all,
I have a page which loads the TinyMCE editor. On the postback I obviously want to f
Send inserts to mysql thru port 80
Hi!
I have an application that must do some inserts in a mysql db. This db is behind a firewa
Simple email form - Newbie
Hello all,
First time poster!
I've been asked to create a simple HTML form that submit
division gives infinity anser
int main()
{
int z=0;
int i=1/z;
cout<
}
It doesn't throw a
GET * FROM _____ Except?
I have a site that is for stock photography.
This section of the code calls images to display
some query on multilingual website
Hi all,
Which is the simplest and easiest method to make a website multilingual,
is it put