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 Like 23 Dislike
Previous forums Next forums
Other forums

How to get the previous months last date....
Here's my wittle problem. I suck at working with dates.

So today is 10/20/2009, i need to fig

Fetching META TAGS through
Hello everybody
I want to fetch meta tags of a domain.
It will be done from following code of

array_map() probably obvious mistake
The code below is part of a class to escape strings, but should also accept an array, using array_ma

I need desperate help with this php code integrated with flash please
Can someone please help me with this php code which I have been stuck on for weeks . I am trying to

Run function every 5 mins ??
I have a function PostMessage()

How can I run it every 5 mins ??

Legal Issues for SAP ERP o ERP in general
Hi experts,

Can someone please help me finding some documentation about legal issues tha

Results from Db outputted twice
Hey guys.. for come reason my data is outputted twise shown in the image below and i cant figure out

Help adding strtolower( to my in_array
strtolower i need to add it to this to work, iuno how.

Code: $moderators = array('Admin', 'ba

Delete HTML file after loading
I have limited experience with php and its been a year or two since I've last used it. I have a sma

Inserting 100x and 100y coordinates in mysql table - easy
Is there a way to insert this data into a mysql table named 'map' with the fields: 'x int 3' , 'y in

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash