Diferentierea link-urilor externe de cele interne (PHP)

Ma ruga cineva in seara asta sa il ajut sa diferentieze link-urile externe de cele interne de la el de pe blog. Dupa o sesiune scurta incins putin capul si dupa cateva minute a iesit o clasa care ataseaza o imagine (o sageata) link-urilor externet iar link-urile internet raman intacte. Am optat pentru introducerea imaginilor in link, dar se pot seta din CSS daca doriti.

<?php
function domain_extractor($link)
{
	preg_match("/^(http:\/\/)?([^\/]+)/i", $link, $matches);
	$host = $matches[2];
	preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
	return $matches[0]; 
} 

function url_check($link) 
{
	if(domain_extractor($link) == domain_extractor($_SERVER['HTTP_HOST'])) 
	{
		$website = '<a href="'.$link.'">'.domain_extractor($link).'</a>';
		return $website;
	}
	else
	{
		$website = '<a href="'.$link.'" target="_blank"/>'.domain_extractor($link).'</a><img src="link_external.gif" />';
		return $website;
	}
}

echo url_check($link);

Ce inseamna link extern? orice link catre un alt domeniu decat website-ul / pagina pe care te afli.

De ce trebuiesc marcate link-urile externe? Pur si simplu 😀

Intrebari?

One thought on “Diferentierea link-urilor externe de cele interne (PHP)”

  1. se poate face acelasi lucru cu css (dar nu va merge pe IE < 7) si cu javascript. Eu pe blogul meu am ales solutia cu JS (am ales asa deoarece imi deschid toate link-urile externe in target=”_blank” si injectez codul; altfel nu ar mai fi valid)

    repara-ti frate diacriticele!!! doar esti roman 😐

Leave a Reply

Your email address will not be published. Required fields are marked *