Autor Zpráva
Jak na to?
Profil *
Jakým způsobem se v php dělá že když do textu napíšu např. http://example.com tak se to změní na odkaz?
et9
Profil
Třeba přesměrováním.
Taps
Profil
Jak na to?:
php přes regulární výrazy
Jak na to?
Profil *
et9:
Třeba přesměrováním.
To je nějaká blbost ne? Přesměrování nemá nic společnýho se změněním http:// na odkaz!

php přes regulární výrazy
A nedali by jste mi někdo takový kód? Regulérní výrazi nejsou zrovna moje parketa :)
Taps
Profil
Jak na to?:
$zprava="http://neco.cz";
$prispevek=ereg_replace("(http://[^ ]+\.[^ ]+)", " <a href=\"\\1\">\\1\</a> ", $zprava);
Jak na to?
Profil *
Taps:
Díky :)
AM_
Profil
Taps:
ereg_replace je deprecated. Raději
$prispevek=preg_replace('~(http://[^\\s]+)~i', ' <a href="\\1">\\1</a>', $zprava);

trochu jsem to i zjednodušil, v apostrofech je méně escapování.
imploder
Profil
Na URL mám přesnější výraz, (je to v POSIX Extended RE, pro PHP to bude potřeba převést na PCRE):
^(http://)?((([a-zA-Z0-9\-]+\.)+)([a-zA-Z][a-zA-Z0-9\-]*)|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]+)?(/[^#\?]*)?(\?[^#]*)?(#.*)?$

To je pro HTTP. Kromě začátku ("^") a konce ("$") řetězce se ještě musí v textu rozpoznávat hranice slova (tj. bílý znak nebo konec nebo začátek řetězce. Bílý znak je v PCRE "\s".
seriál o PCRE pro PHP
http://www.regextester.com/pregsyntax.html

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: