PHP - automatischer Link

kann es sein das die beispiele nich gehen?? habs mal ausprobiert, und bei mir kam bei beiden beispiele ein parse error
 
-

PHP:
function replace_uri($str) {
  $pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
  return preg_replace($pattern,"\\1<a href=\"\\2\\3\"><u>\\2\\3</u></a>\\4",$str);
}
Edit: Probier es mal hiermit. Sollte jetzt eigentlich gehen.
 
Zuletzt bearbeitet:
hmmm....mit dem beispiel stimmt acuh irgendwas nicht!!

Fatal error: Cannot redeclare parseurl() in /home/woozy/public_html/woozygrafix/content/gbook.inc.php on line 31
 
Re: -

Original geschrieben von TimeFlash
PHP:
function replace_uri($str) {
  $pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
  return preg_replace($pattern,"\\1<a href=\"\\2\\3\"><u>\\2\\3</u></a>\\4",$str);
}

Edit: Probier es mal hiermit. Sollte jetzt eigentlich gehen.



HI

danke für deine Mühe, aber:


Warning: Compilation failed: missing ) at offset 239 in /home/mfw/public_html/test.php on line 7




es ist folgende Zeile:


PHP:
return preg_replace($pattern,"\1<a href=\"\2\3\"><u>\2\3</u></a>\4",$str);




cya
 
also ich habs jetzt ma soweit hingekriegt das der link durch nen gültigen ersetzt wird, aber der text ist halt nur [link] so wie in der shoutbox, da ich keine ahnung hab wie man den link 2 mal verwenden kann, also hab ich ihn nur einmal für a href=bla verwendet.

wenn einer weiss wies geht biiiteee melde dich ;) hier noch der code fürs einfache ersetzen:

PHP:
$text=eregi_replace("www.","[<a href=\"http://www.",$text);
$text=eregi_replace(".de",".de \" target=\"_blank\">link</a>]",$text);

ich hoff ihr verstehts und es findet sich noch jemand der mir sagt wie man den text 2 mal verwenden kann... in diesem sinne: cYa :-)

//edit

also wie ich grad merk gibts ja hunderdtausende von domainendungen, und die müsste man alle einzeln eintragen... hmm ich arbeit dran das dat noch besser wird ;)
 
Zuletzt bearbeitet:
Original geschrieben von stiffy
also ich habs jetzt ma soweit hingekriegt das der link durch nen gültigen ersetzt wird, aber der text ist halt nur [link] so wie in der shoutbox, da ich keine ahnung hab wie man den link 2 mal verwenden kann, also hab ich ihn nur einmal für a href=bla verwendet.

wenn einer weiss wies geht biiiteee melde dich ;) hier noch der code fürs einfache ersetzen:

PHP:
$text=eregi_replace("www.","[<a href=\"http://www.",$text);
$text=eregi_replace(".de",".de \" target=\"_blank\">link</a>]",$text);


ich hoff ihr verstehts und es findet sich noch jemand der mir sagt wie man den text 2 mal verwenden kann... in diesem sinne: cYa :-)

//edit

also wie ich grad merk gibts ja hunderdtausende von domainendungen, und die müsste man alle einzeln eintragen... hmm ich arbeit dran das dat noch besser wird ;)







Das is leider nicht das, was wir wollen, da ein Link mitten in einem Text stehen kann....:-(




:-)
 
-

Code:
function replace_uri($str) {
  $pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto: |news: )([^\s<>]+)([\s\n<>]|$)#sm';
  return preg_replace($pattern,"\\1<a href=\"\\2\\3\"><u>\\2\\3</u></a>\\4",$str);
}

Edit:
Ich versteh im Moment auch nicht, wieso das Board den Code gleich noch verändet, deshalb hab ich das nochmal im normalen Textmode gepostet.
Zur Erläuterung:
Folgender regulärer Ausdruck ersetzt alle normalen URIs, das heißt zum Beispiel http://www.tutorials.de/, news:de.comp.lang.php, mailto:bla@bla.de oder ftp://ftp.download.com/ durch HTML-Code, damit diese URLs für den Benutzer klickbar werden. Leider musste ich ein paar Leerzeichen machen, da das liebe Board wieder zwischen den Zeilen gelesen hat.
 
Zuletzt bearbeitet:
Zurück