Links im Text erkennen und umwandeln!

Hi!

habe ein Archiv angehängt! Dort findest du eine PHP-Klasse mit der du zumindest ein paar Sachen parsen kannst! Eventuell musst du die anderen noch selbst hinzufügen...
Hab's mir selbst den Quelltext noch nicht angeschaut! Aber das Beispiel funktioniert!

Also ich hoffe das hilft dir!?

Ciao Thomas

P.S.: Das archiv ist übrigens von hier http://phpclasses.upperdesign.com ! Vielleicht findest da ja noch mehr!?
 

Anhänge

  • archive.zip
    1,8 KB · Aufrufe: 296
Das ist aber nett von dir.
Danke :)

Hab ich mir gesaugt - moment ich schaus mir mal an und probiers aus.


Danke nochmal.
 
Funktioniert, allerdings werden "sengerweb.com", also links ohne http und www oder "www.sengerweb.com" links ohne http nicht erkannt und genau sowas suche ich doch. vielleicht gibts irgendwo eine erweiterung zu dieser klasse?


Wäre nett! Vielen Dank nochmal.
 
Wie ich ja schon sagte! Die Klasse ist nicht von mir und daher kann ich dir dabei auch nicht wirklich helfen...
Entweder erweiterst du es selbst oder suchst was anderes...

Ciao Thomas
 
Okay, vielen Dank nochmal.

Vielleicht weiss ja hottemp eine Lösung für mich? *liebschau*
 
vielleicht hilft dir das:

PHP:
$text = eregi_replace("^[ url]http://[ /url]([^ ,rn]*)","[ url]http://\\1[ /url]",$text);
  $text = eregi_replace("^[ url]https://[ /url]([^ ,rn]*)","[ url]https://\\1[ /url]",$text);
  $text = eregi_replace("^[ url]ftp://[ /url]([^ ,rn]*)","[ url]ftp://\\1[ /url]",$text);
  $text = eregi_replace("^[ url]www.[ /url]([^ ,rn]*)","[ url]http://www.\\1[ /url]",$text);
  $text = eregi_replace("([ rn])[ url]http://[ /url]([^,rn]*)","\1[ url]http://\\2[ /url]",$text);
  $text = eregi_replace("([ rn])[ url]https://[ /url]([^,rn]*)","\1[ url]https://\\2[ /url]",$text);
  $text = eregi_replace("([ rn])[ url]ftp://[ /url]([^,rn]*)","\1[ url]ftp://\\2[ /url]",$text);
  $text = eregi_replace("([ rn])[ url]www.[ /url]([^,rn]*)","\1[ url]http://www.\\2[ /url]",$text);
  $text = eregi_replace("\\[email\\]([^\\[]*)\[/email\\]", "<a href=\"mailto:\\1\">\\1</a>",$text);
  $text = eregi_replace("\\[ url=([^\\[]*)\\]([^\\[]*)\\[/url\\]", "<a href=\"\\1\" target=\"_blank\">\\2</a>",$text);
  $text = eregi_replace("\\[ url=http://([^\\[]+)\\]([^\\[]*)\\[/url\\]", "<a href=\"http://\\1\" target=\"_blank\">\\2</a>", $text);
  $text = eregi_replace("\\[url\\]www.([^\\[]*)\\[img\\]www.([^\\[]*)\\[/img\\]\\[/url\\]","<a href=\"http://www.\\1\" target=\"_blank\"><img src=\"http://www.\\2\" border=\"0\"></a>",$text);
  $text = eregi_replace("\\[url\\]http://([^\\[]*)\[img\\]http://([^\\[]*)\\[/img\\]\[/url\\]","<a href=\"http://\\1\" target=\"_blank\"><img src=\"http://\\2\" border=\"0\"></a>",$text);
  $text = eregi_replace("\\[img\\]http://([^\\[]*)\\[/img\\]","<img src=\"http://\\1\" border=\"0\">",$text);
  $text = eregi_replace("\\[url\\]www.([^\\[]*)\\[/url\\]","<a href=\"http://www.\\1\" target=\"_blank\">\\1</a>",$text);
  $text = eregi_replace("\\[url\\]([^\\[]*)\[/url\\]","<a href=\"\\1\" target=\"_blank\">\\1</a>",$text);
  $text = eregi_replace("\\[u\\]([^\\[]*)\\[/u\\]", "<u>\\1</u>", $text);
  $text = eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]", "<b>\\1</b>", $text);
  $text = eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]", "<i>\\1</i>", $text);


edit: rofl ups das ist ja ein jahr her :] naja vielleicht kanns sonst wer gebrauchen
 
lol wie hast du den thread denn gefunden?

PHP:
if(ereg("(http)(.*)(://)",$message)) {

$message = eregi_replace("(http)(.*)(://)(www.)(.*)(.)(.*)","<a href=\"\\1\\2\\3\\4\\5\\6\\7\" target=\"_blank\">\\1\\2\\3\\4\\5\\6\\7</a>",$message);

}

else {

$message = eregi_replace("(www.)(.*)(.)(.*)","<a href=\"http://\\1\\2\\3\\4\" target=\"_blank\">\\1\\2\\3\\4</a>",$message);

}

das ist meine möglichkeit zur umwandlung, funktioniert wunderbar. falls einer die volle url mit http(?):// usw. geschrieben hat, dann wird das http:// übernommen, wenn nicht (also nur www.bla.de) dann wird halt noch ein http:// vorne angehängt...

nun könnte man auch eine schleife machen, in der überprüft wird, ob "de", "org", "com", etc. (tld's in array festlegen) in dem text vorhanden ist und die tld und den text vorher (also blabla.tld) zu einem link umwandeln....
 
Zuletzt bearbeitet:
gouraud, das mit den tld's ist keine so gute idee. könnte ja einer über format.com reden (also die datei) und die is dann auch verlinkt... naja ich weiss nicht.
 
Zurück