Autor Zpráva
PV
Profil *
Ahojte, můžete mi prosím poradit, jak při vkládání z formuláře do db automaticky ukládat url rovnou jako odkaz?
Vím, že se to řeší přes regulární výrazy, ale nemůžu se s tím poprat.
A ještě jedna věc - jak ohlídat uzavírání html tagů, pokud je teda nechci zakázat úplně?
Jde to nějak jednoduše?
fejtis
Profil *
Tak převádění textu na odkaz se dělá, jak jsi správně řekl reg. výrazem. A na doplnění tagů se dá přeci udělat jednoduchá funkce, zapoj trochu hlavu.
zdeněk
Profil *
Podívej se např. na http://www.regularnivyrazy.info/prevedeni-url-na-odkaz.html
PV
Profil *
Zdeňku, díky
jenže na to koukám a asi mi nezbývá než přiznat, že jsem lama, protože to nedokážu nacpat do stránky tak, aby to fungovalo. Tuším, že problém je v apostrofech a uvozovkách (????? nebo taky ne????).
Můžete mi to někdo opravit, prosíííím:

$_POST['text']=eregi_replace ("((http://)|(www.))([^ ]+[^,. ])", "<a href=http://".$3.$4." target=_blank>".$2.$3.$4."</a>", $_POST['text']);

hlásí mi to chybu: Parse error: parse error, unexpected T_DNUMBER, expecting T_VARIABLE or '$'

Předem díky moc
djlj
Profil
Máš blbě uvozovky…

$_POST['text']=eregi_replace ("((http://)|(www.))([^ ]+[^,. ])", "<a href='http://$3$4' target='_blank'>$2$3$4</a>", $_POST['text']);
zdeněk
Profil *
Aby to fungovalo s "eregi_replace" musely by se změnit i zpětné reference ze znaku dolaru$ na zpětná lomítka\
$_POST['text'] = eregi_replace ("((http://)|(www.))([^ ]+[^,. ])", "<a href='http://\3\4' target='_blank'>\2\3\4</a>",$_POST['text']);

Asi by bylo lepší použít funkci preg_replace

$_POST['text'] = preg_replace ("(((http://)|(www.))([^ ]+[^,. ]))", '<a href="http://$3$4" target="_blank">$2$3$4</a>',$_POST['text']);
zdeněk
Profil *
Zapoměl jsem, že to tu žere zpětná lomítka. Takže v příkladu s eregi_replace před 34 a 234 musí být zpětná lomítka dvě a v obou příkladech chybí zpětné lomítko před tečkou ve výrazu (www.)
PV
Profil *
super, díky moc!
to lomítko před tečkou mám - aspoň něco ;-)
ann
Profil *
Tak jsem tohle taky zkusila použít, ale když mi někdo ve formuláři odřádkuje, tak se do <a>tagu vloží i zbytek textu, co už do odkazu nepatří. Jak se to dá ošetřit, aby mi ten skript kontroloval kromě mezery, tečky a čárky na konci i to odřádkování?
Snad to píšu trochu srozumitelně. Předem děkuju za radu.
Jára
Profil *
Mám stejný problém jako ann. Co s tím? Pomožte prosím. Nikde na internetu jsem to nenašel.
Filo
Profil
ann a Jára co třeba zakázat odřádkování?
djlj
Profil
Jára, ann
Tuším, že by mělo stačit změnit [^,. ] na [^,. \n]. Ale možná se jen blbě dívám.
Toto téma je uzamčeno. Odpověď nelze zaslat.