ich möchte auf meiner seite jeden externen Link kennzeichnen mit einer css-klasse .external. dazu habe ich im netz einen einen passenden code gefunden der mir diese liefert:
Code: Alles auswählen
<?php
$url = "http://localhost/";
function rex_external_links($url, $mode = 1) {
$content = implode("", file($url));
if(empty($content)) return false;
$parsed = parse_url($url);
$uri = $parsed['scheme'] ? $parsed['scheme'].':'.((strtolower($parsed['scheme']) == 'mailto') ? '':'//'): '';
$uri .= $parsed['user'] ? $parsed['user'].($parsed['pass']? ':'.$parsed['pass']:'').'@':'';
$uri .= $parsed['host'] ? $parsed['host'] : ''; $uri .= $parsed['port'] ? ':'.$parsed['port'] : '';
if(!preg_match_all("/<a[^>]*hrefs*=s*(\"|')(.*?)(\"|')[^>]*>(.*?)</a>/ims", $content, $matches)) return false;
$data = $matches[2];
if($mode!=1) {
if($mode==2) {
foreach($data as $key => $link) {
if(!preg_match("|^[a-z]+://|i", $link) || preg_match("|^".$uri."|i", $Link)) unset($data[$key]);
}
}
if($mode==3) {
foreach($data as $key => $link) {
if(preg_match("|^[a-z]+://|i", $link) || preg_match("|^".$uri."|i", $Link)) unset($data[$key]);
}
}
}
return $data;
}
echo "Alle Links, intern und extern :<br>";
$links = getLinks($url);
foreach($links as $key => $val) echo "$key => $val<br>n";
echo "<br><br>Nur externe Links :<br>";
$links = getLinks($url,2);
foreach($links as $key => $val) echo "$key => $val<br>n";
echo "<br><br>Nur interne Links :<br>";
$links = getLinks($url,3);
foreach($links as $key => $val) echo "$key => $val<br>n";
?>
ich steh da grad ein wenig auf dem schlauch und könnte ne kleine hilfestellung gebrauchen, wie ich das anzupassen habe.
danke.