Autor Zpráva
night
Profil *
$c=ereg_replace('[-a-z0-9!#$%&\'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*', ' <a href="mailto:\\0">\\0</a>',$c);            
$c=ereg_replace('[a-zA-Z]+://(([.]?[a-zA-Z0-9_/?$&-=%])*)', ' <a target="_blank" href="\\1">\\1</a>',$c);
$c=ereg_replace('(^| )(www([-]*[.]?[a-zA-Z0-9_/?&-=%])*)', ' <a target="_blank" href="http://\\2">\\2</a>',$c);
night
Profil *
Všechno mám ošetřený (htmlspecialchars a strip_tags) a nechci si vytvořit nějakou bezpečnostní díru. Vím, že se Vám to bude zdát divný co by na tom mohlo být nebezpečný, ale jistota je jistota :-)
Majkl578
Profil
[#1] night
Tak především není vhodné používat ereg funkce, protože jsou deprecated.
Pokud to první má být pokus o vyhledání emailu, tak funguje špatně - převede to i neco takového: $&=_%@foo.bar
Dále nechápu důvod odstraňování protokolu. Co když má někdo web, co jede jen na https? Ten regexp na hledání url by také mohl být lepší, tenhle převede i toto: http://&=.%%%%.-$/

[#2] night
Všechno mám ošetřený (htmlspecialchars a strip_tags)
Není to trochu paranoia? Když používám htmlspecialchars, strip_tags nepotřebuji, ne? :)
night
Profil *
Není to trochu paranoia? <- tohle jsem cekal :-) vim, ze neco vedu do extremu
night
Profil *
Jak by to tedy mělo být? Poradíte?
night
Profil *
Šlo by to dát třeba do array a jestli ano, tak jak?
Joker
Profil
night:
Jak by to tedy mělo být? Poradíte?
Nikde tu nevidím napsanou jednu věc: Co to vlastně má udělat? Co je cílem?
night
Profil *
Cílem je, že když někdo do fora napíše mail nebo link, tak se převede na odkaz.
$table = array (':-)' => '<img src="library/forum/smajl/2.gif" alt=":-)">
);

Takhle to mám na smajlíky a pokud by to šlo i na odkaz, tak by to bylo super.
night
Profil *
Třeba pomocí array nějak takhle, ale funkčně :-) šlo by to? Jestli jo, tak jak? Děkuju
'[-a-z0-9!#$%&\'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*' => ' <a href="mailto:\\0">\\0</a>',

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:

0