PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe.. [URL= Replace in Text


S3Ri0US
26.11.2006, 11:34:47
Guten Morgen alle zusammen. Ich bräuchte etwas Hilfe mit meiner LINK [/URL.] Funktion. Diese Funktioniert auch.


function replaceUrl($message) {
if (strpos($message, "")!==false){
$begUrl = strpos($message, "[URL");
$endUrl = strpos($message, " ( Funktion in meinem Forum. Und zwar habe ich eine Normale [.URL)");
$url = substr($message, $begUrl, $endUrl-$begUrl+6);
$posBracket = strpos($url, "]");
if ($posBracket != null){
if ($posBracket == 4){
$link = substr($url, 5, $endUrl - $begUrl -5);
$newtext = substr($link, 0, 60);
$htmlUrl = "<a class='link1' href=$link target='_blank'>$newtext</A>";
} else {
$link = substr($url, 5, $posBracket-5);
$text = substr($url, $posBracket+1, strpos($url, "") - $posBracket-1);
$newtext = substr($text, 0, 60);
$htmlUrl = "<a class='link1' href=$link target='_blank'>$newtext</A>";
}
}
$message = str_replace($url, $htmlUrl, $message);
$message = replaceUrl($message);
}
return $message;
}



Nun Möchte ich aber auch das meine User eine [URL=LINK]LINKNAME[/URL.] verwenden können. Den Code dafür habe ich zum Glück gestern schon gfunden. Dieser lautet:


$message = preg_replace("/\[URL=(.*?)\](.*?)\[\/URL\]/", "<a href=\"$1\" alt=\"\" target=\"blank\">$2", $message);


Jetzt habe ich aber das Problem das [/URL.] in der ersten Funktion schon in /a umgewandelt wird. Und so bei [URL= Mein Linkname nicht angezigt wird. kann mir evt. jemand von euch Helfen wie ich beide Funktionen verwenden klann ? Ich kenn mich mit preg_replace leider absolut nicht aus, geschweige dem diese Zeichenkette:

("/\[URL=(.*?)\](.*?)\[\/URL\]/

Für mich nur Bahnhof ! Ich dahcte mir das ich bei der Zeichenkette das [/URL.] Rausnehmen kann. Aber wie genau ? Hoffe ihr könnt mir Helfen. Danke schon mal.

Domi
27.11.2006, 15:50:03
Wie wäre es wenn du zuerst deinen 2. Code anwendest, dann den 1. ? Du könntest den 1. aber auch umschreiben.

http://tut.php-q.net/regex.html

Gruss
Domi