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
Handling text changed in text box control using Ajax
I need to create a web form with a text box control. When someone types text into the textbox I nee
User registration and login
I don't know whether this is the correct forum, if not i apologise but am pretty desperate at the mo
Upload file and add HTML
Hey everyone,
I have a client has meeting agendas and minutes that should be posted online. I
Displaying image pathname instead of image
Hello
Im trying to upload and then display images from a mysql database - Its only basic and
php mailer
How can i send a mail to large no, say 50,000 reciepients using [color=#0000FF]php mailer[/color]
Looking for help reading a .txt or .ini file and outputting the info.
I have a file called Info.ini and It has the following info:
Code: [General]
Online=0
I wou
small inaccuracies
I have this code to convert fractional base 10 into base 2:
while($num > 0)
Simple email form - Newbie
Hello all,
First time poster!
I've been asked to create a simple HTML form that submit
New to PHP and just trying to understand a little code.
I hope I'm not annoying anyone or breaking the rules but I was wondering about this bit of code righ
Displaying different page content, depending on the logged in user.
Hi all, I am new to ASP.net (and web development in general), and have a question about how I can di