brauche str_replace für url

Operator_Jon

Erfahrenes Mitglied
HI!
Ich suche noch ein str_replace um Urls umzuwandeln!
sagen wir jemand schreibt in den text:
Code Info
das soll er dann um wandeln in:
<a href="code_info.php">Code Info</a>
ich habe es bis jetzt erfolglos mit folgendem probiert:
Die Javascript Funktion:
Code:
#
var page;
  function url(page)
  {
    var win=window.open(page,"Opened URL","width=640,height=480,location=yes,menubar=yes,resizable=yes,status=yes,scrollbars=yes");
  }
und der PHP replace dazu(wie gesagt erfolglos!!!):
PHP:
function replace_urls($value) {
  $value = str_replace("[ URL=","<a href=\"javascript:url('",$value);
  $value = str_replace(" /]","')\"",$value);
  $value = str_replace("[ /URL]","</a>",$value);
  return $value;
}
$text = "[ URL=code_info.php /]Code Info[ /URL]";
$text = replace_urls($text);
echo $text;
hoffe mir kann da jemand helfen, thx
cu
OP_Jon
 
PHP:
$value = preg_replace("#\\\[URL=(.*)\\\](.*)\\\[\\\/URL\\\]#is", "<a href=\"javascript:url('\\\\1');\">\\\\2</a>", $value);

Ich hoffe das Forum zerstückelt nicht wieder alles, ist nicht getestet.

Edit: Ok, das Forum hat alles nötige weggeparsed. damn.
 
naja wie immer:rolleyes:
falls es nicht zu kompliziert ist, dann poste das doch zerstückelt!
Ansonsten, villeicht an jsiebern@web.de

thx
cu OP_Jon

PS: was ist "preg_replace"? kenne ich bisher noch nicht
thx
 
preg_replace ist eine Funktion zum ersetzten von String mit Regular Expressions.

Mach es so: (dürfte wohl die Variante sein, die boom gemeint hat)
$text = preg_replace("=\[URL\=(.*)\](.*)\[\/URL\]=isU", "<a href=\"$1\" onClick=\"url('$1');return false;\">$2</a>", $text);

Hab gleich das JevaScript noch etwas verändert. (Nun haben die *open Link in New Window*-Klicker auch was davon :) )
 
ok, thx!
ich denke nun einfach mal das das so funzt, da ich immoment leider keine möglichkeit habe es auszuprobieren!
THX
cu
OP_Jon
 
Wenn schon, denn schon:

PHP:
$value = preg_replace("#\\\[url=([\w]+?://.*?[^ \"\\\n\\\r\\\t<]*?)\\\](.*)\\\[\\\/url\\\]#is", "<a href=\\\"\\\\1\\\" onclick=\\\"url('\\\\1');return false;\\\">\\\\2</a>", $value);

btw: Ich hoffe das man in Tutorials.de: V4 endlich ordentlich Code posten kann, jeden Backslash zu escapen ist extrem umständlich.
 
lool;)
egal, dann danke ich euch für die codes
@Boom
der funzt nu oder?


//EDIT:
Bei boom zeigt er schon mal nen parse error an und bei dem anderen code sagt er folgenden mysql_error():
You have an error in your SQL syntax near 'code_info.php');return false;">Code Info','false','23.07.2003')' at line 1

cu
OP_Jon
 
Zuletzt bearbeitet:
So, habe nun folgenden code (BITTE FORUM NICH SCHROTTEN):
PHP:
function parse_urls($str) {
  $str = preg_replace('=\[url\](.*)\[/url\]=Uis','<a href="\1">\1</a>',$str);
  $str = preg_replace('#\[ url=(.*)\](.*)\[/url\]#Uis','<a href="\1">\2</a>',$str);
  $str = preg_replace('#(^|[^"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm','\1<a href="\2\3">\2\3</a>\4',$str);
  return $str;
}
kann mir den einer so umschreiben, das die urls in neuen fenstern geöffnet werden?
thx
cu
OP_Jon


//EDIT: war klar, voll zerissen!!!
Ich habe den code aus dem quakenet tut:
http://tut.php-q.net/login-news.html
dort fast ganz unten stehts!!
kann mir den einer richtig schreiben und dann inna textdatei hochladen oso?
dalls geht auch an mailto:jsiebern@web.de wenns keine umstände macht;)
THX
cu
OP_Jon
 
Zuletzt bearbeitet:
Mach aus dem:
PHP:
<a href="$1">2</a>
ein
PHP:
<a href="$1" target="_blank">2</a>

Ps: Wieso lässt du nicht einfach die [.php]-Tags weg? Dann verändert das Forum auch nichts mehr. (Es ist übrigens nicht das Forum, sondern die Funktion highlight-string)

Edit: Ich glaube, es ist eher stripslashes

Edit2: Dann eben mit $ anstatt \\
 
Zuletzt bearbeitet von einem Moderator:
Zurück