ich nutze do externals! und habe ein Problem wenn ich irgendein beliebiges Sitemap-Modul verwende. Wenn sich eine Sitemap auf einer Seite befindet, erhalte ich nur eine leere weiße Seite (keine Fehlermeldung).
Alle anderen Seiten funktionieren einwandfrei mit do externals!
Kann mir da jemand weiterhelfen?
- Code: Alles auswählen
<?php
//---------------------------------------------
// do externals!
// REDAXO TEMPLATE
// Version 1.0 (rExtern 1.01)
// Thomas Skerbis
// Stand 26.08.2008
//----------------------------------------------
//
//
//------------------------------------------------
// Basiert auf:
// Wordpress-Plugin: Identify External Links
// Author: Mark Jaquith
// Version: 1.2
// Author URI: http://txfx.net/
//------------------------------------------------
// hier verwendete css-class: .rextern
// Sofern erwünscht, im Quellcode austauschen
if (!$REX['REDAXO'])
rex_register_extension('OUTPUT_FILTER', 'rex_external_links');
function rex_get_domainname_from_uri($uri){
preg_match("/^(http:\/\/)?([^\/]+)/i", $uri, $matches);
$host = $matches[2];
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
return $matches[0];
}
function parse_external_links($matches){
if ( rex_get_domainname_from_uri($matches[3]) != rex_get_domainname_from_uri($_SERVER["HTTP_HOST"]) ){
return '<a href="' . $matches[2] . '//' . $matches[3] . '"' . $matches[1] . $matches[4] . ' class="rextern" onclick="window.open(this.href); return false;">' . $matches[5] . '</a>';
} else {
return '<a href="' . $matches[2] . '//' . $matches[3] . '"' . $matches[1] . $matches[4] . '>' . $matches[5] . '</a>';
}
}
function rex_external_links($params) {
$rex_content = $params['subject'];
$pattern = '/<a (.*?)href="(.*?)\/\/(.*?)"(.*?)>(.*?)<\/a>/i';
$rex_content = preg_replace_callback($pattern,'parse_external_links',$rex_content);
$pattern2 = '/<a (.*?) class="rextern"(.*?)>(.*?)<img (.*?)<\/a>/i';
$rex_content = preg_replace($pattern2, '<a $1 $2>$3<img $4</a>', $rex_content);
return $rex_content;
}
?>

