"We are back" « oc.at

urls automatisch in links [php]

Phobos 15.03.2003 - 14:55 1407 26
Posts

Phobos

✝
Avatar
Registered: Jan 2003
Location: 1050
Posts: 2111
jo wie funktionert des, wenn ich einen link in ein textfeld eingeb (zb http://www.overclockers.at), dass dieser automatisch in einen link umgewandelt wird?

ohne vb code oder sonstiges ich geb nur die url ein und es wird ein link draus!?

thx 4 hlp
:cool: pHs

Master99

verträumter realist
Avatar
Registered: Jul 2001
Location: vie/grz
Posts: 12696
EDIT: sorry, falsch...

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
regular expressions

vor langer langer zeit (1998 oder so) hab ich folgende zwei kryptische perl regular expressions dafür geschrieben:
Code:
#umwandeln von [url]http://....[/url] text in links:
s/(http:\/\/[a-zA-Z\-0-9]{2,}\.[\.a-zA-Z0-9%$\-_\?\&+]{2,}[a-zA-Z0-9\/]{1})/ <a target="_blank" href="\1">\1<\/a>/
#umwandeln von [url]www.domain....[/url] text in links (ohne [url]http://[/url]) nur anwenden, wenn vorherige expr nicht angewendet wurde
s/(www\.[\.a-zA-Z0-9%$\-_\?\&+]{2,}[a-zA-Z0-9\/]{1})/<a target="_blank" href="http:\/\/\1">\1<\/a>/
(würde ich heute vermutlich ein wenig schöner schreiben)

Phobos

&#10013;
Avatar
Registered: Jan 2003
Location: 1050
Posts: 2111
jo thx, bringt mir nicht wirklich viel wenn ich php progg :/

aber thx atrox, i luv u :D

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
sollte sich leicht auf preg_replace() anpassen lassen

Maehmann

OC Addicted
Avatar
Registered: Aug 2002
Location: Vienna
Posts: 1110
gibts irgendwo ein gescheites tutorial für Reg Expressions?
Hab noch kein zufriedenstellendes gefunden :(

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
einen guten pragmatischen einstieg in regular expressions bietet meiner ansicht nach das perl-tutorial-buch von o'reilly.
im web gibt es aber auch eine menge php-bezogener regex-tutorials/primers, allerdings von unterschiedlicher qualität: http://www.google.com/search?hl=en&...G=Google+Search

überlege mir schon die ganze zeit, ob es nicht sinnvoll währe einen sticky-thread mit guten tutorials für alle möglichen programmiersprachen und häufig gestellten probleme anzulegen - anfangs währe diese liste halt noch recht klein und uninteressant, und würde wohl erst mit der zeit wachsen.

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
make it so :cool:

Snoop

Here to stay
Registered: Jun 2002
Location: Gablitz
Posts: 1092
$content=eregi_replace("([ \r\n])http://([^ ,\r\n]*)","\\1http://\\2",$content);
$content=eregi_replace("([ \r\n])https://([^ ,\r\n]*)","\\1https://\\2",$content);
$content=eregi_replace("([ \r\n])ftp://([^ ,\r\n]*)","\\1ftp://\\2",$content);
$content=eregi_replace("([ \r\n])http://www.([^ ,\r\n]*)","\\1http://www.\\2",$content);
$content=eregi_replace("^http://([^ ,\r\n]*)","http://\\1",$content);
$content=eregi_replace("^https://([^ ,\r\n]*)","https://\\1",$content);
$content=eregi_replace("\\[url\\]www.([^\\[]*)\\[img\\]www.([^\\[]*)\\[/img\\]\\[/url\\]","<a href=\"http://www.\\1\" target=_blank><img src=\"http://www.\\2\" border=\"0\"></a>",$content);
$content=eregi_replace("\\[url\\]http://([^\\[]*)\\[img\\]http://([^\\[]*)\\[/img\\]\\[/url\\]","<a href=\"http://\\1\" target=_blank><img src=\"http://\\2\" border=\"0\"></a>",$content);
$content=eregi_replace("\\[url\\]www.([^\\[]*)\\[/url\\]","<a href=\"http://www.\\1\" target=_blank>\\1</a>",$content);
$content=eregi_replace("\\[url\\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=_blank>\\1</a>",$content);
$content=eregi_replace("\\[url=\"","[url=\"",$content);


ich bin ja lieb und poste gleich den code :)

Phobos

&#10013;
Avatar
Registered: Jan 2003
Location: 1050
Posts: 2111
na servas, aber thx :)

Snoop

Here to stay
Registered: Jun 2002
Location: Gablitz
Posts: 1092
jo war ziemlich lange schreib arbeit :) aber is ja nicht nur der code den ich hab :D

Sticker

Big d00d
Avatar
Registered: Mar 2003
Location: Wien
Posts: 177
Gibts eigentlich einen regulären Ausdruck oder ähnliches das bis zum nächsten Space geht?

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Sticker
Gibts eigentlich einen regulären Ausdruck oder ähnliches das bis zum nächsten Space geht?
/^([^\040]*)/

sollte es tun...

Sticker

Big d00d
Avatar
Registered: Mar 2003
Location: Wien
Posts: 177
Weiß net ob das geht, sollte es aber:

/^((https?|ftp):\/\/|(www|ftp)?\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Sticker
Weiß net ob das geht, sollte es aber:

/^((https?|ftp):\/\/|(www|ftp)?\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si
für eine url recht unbrauchbar, da urls nicht unbedingt am zeilenanfang stehen müssen ;)
auch das newline tät ich nicht ausschliessen...
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz