mhmm irgentwie alles nicht so ganz, was ich will:
ich suche wie gesagt einen Hack, der EDK Links so darstellt, dass deren Name nicht untergeht, da nach meinem Verständnis der Dateiname über vB Code nicht übernommen werden kann.
Sondern der EDK Link soll wie folgt dargestellt werden:
ed2k://|file|DATEI|15901|40b18ab383234728ab69dde155ac460a|/
<a href="ed2k://|file|DATEI|15901|40b18ab383234728ab69dde155ac460a|/">DATEI
</a>
Ich hab mir vorhin mal /admin/function.php angeschaut und bin auf folgendes gestoßen.
Ist es möglich jeden erstellten und editierten Post mit einer ähnlichen Funktion wie PARSEURL zu bearbeiten und den EDK Link in ein Array einzulesen, damit die darstellung im Format
<a href="ed2k://|file|
DATEI|15901|40b18ab383234728ab69dde155ac460a|/">
DATEI
</a>
möglich zu machen.
PHP-Code:
// ###################### Start checkurl #######################
function checkurl($url, $hyperlink="") {
$righturl = $url;
if(!preg_match("![a-z]://!si", $url)) {
$righturl = "http://$righturl";
}
// remove threat of users including javascript in url
/*$righturl = preg_replace("/javascript:/si", "java script:", $righturl);
$righturl = preg_replace("/about:/si", "about :", $righturl);*/
$hyperlink = iif(trim($hyperlink)=="" or $hyperlink==$url, iif(strlen($url)>55,substr($url,0,35)."...".substr($url,-15),$url) ,$hyperlink);
return "<a href=\"$righturl\" target=\"_blank\">".str_replace('\"', '"', $hyperlink)."</a>";
}
// ###################### Start parseurl #######################
unset($urlSearchArray);
unset($urlReplaceArray);
unset($emailSearchArray);
unset($emailReplaceArray);
function parseurl($messagetext)
{ // the auto parser - adds [url] tags around neccessary things
global $urlSearchArray, $urlReplaceArray, $emailSearchArray, $emailReplaceArray;
if (!isset($urlSearchArray)) {
$urlSearchArray = array(
"/([^]_a-z0-9-=\"'\/])((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si",
"/^((https?|ftp|gopher|news|telnet):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si"
);
$urlReplaceArray = array(
"\\1[url]\\2\\4[/url]",
"[url]\\1\\3[/url]"
);
$emailSearchArray = array(
"/([ \n\r\t])([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4}))/si",
"/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4}))/si"
);
$emailReplaceArray = array(
"\\1[email]\\2[/email]",
"[email]\\0[/email]"
);
}
$text = preg_replace($urlSearchArray, $urlReplaceArray, $messagetext);
if (strpos($text, "@")) {
$text = preg_replace($emailSearchArray, $emailReplaceArray, $text);
}
return $text;
}
Gruß
mzbcarper
Lesezeichen