Clive Walkden

PHP, MySQL, HTML5, CSS3, jQuery code and ideas.

PHP Posts

PHP function to find links in a string

PHP function to find links in a string

in PHP
by
with 0 Comments

This handy little function searches a string for urls and converts them into anchor tags. This is particularly useful for tweets pulled from Twitter using the API. This is used to prepare the links in my Twitter feed at the bottom of my site.


function make_links($str) 
{
	$reg_ex_url = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
	$urls = array();
	$urls_to_replace = array();
		
	if (preg_match_all($reg_ex_url, $str, $urls)) 
	{
		$numOfMatches = count($urls[0]);
		$url_count = 0;
		
		for($i=0; $i<$numOfMatches; $i++) {
			$alreadyAdded = false;
			$url_count = count($urls_to_replace);
				
			for($j=0; $j<$url_count; $j++) {
				if($urls_to_replace[$j] == $urls[0][$i]) 
				{
					$alreadyAdded = true;
				}
			}
				
			if(!$alreadyAdded) 
			{
				array_push($urls_to_replace, $urls[0][$i]);
			}
		}
			
		$url_count = count($urls_to_replace);
			
		for($i=0; $i<$url_count; $i++) {
			$str = str_replace($urls_to_replace[$i], "".$urls_to_replace[$i]." ", $str);
		}
			
		return $str;
	} 
	else 
	{
		return $str;
	}
}

comments powered by Disqus