Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Převod odkazu na text (bez <a href...)

S tím si nevím rady, přitom to asi bude lehké. V databázi mám uložen text s odkazem, např

<a href="www.kl.cz">www.kl.cz</a>

a když je potřeba to editovat, načtu si to do <textarea> jenže bych to potřeboval načíst bez toho tagu (jen www.kl.cz). Na odkaz se mi to převede samo při odeslání, ale zpátky to neumím. Zkoušel jsem:

$text = Str_Replace('"<a href="*">',"",$text);
$text = Str_Replace('"</a>',"",$text);

a to tedy vůbec není ono, jelikož mi to nedělá nic :-(

Předmět Autor Datum
Ahoj, máš správně uvozovky v té druhé části? nemá to být takhle? $text = Str_Replace('"<a href="*">…
HNUSAq 12.10.2007 06:28
HNUSAq
Nechcem ťa uraziť, ale to ti neprejde ani parsingom. Tie úvodzovky máš inak ako si napísal. Možno má…
msx. 12.10.2007 09:54
msx.
Na syntaxi jsem expert, dokážu to zvrtat do úplného zvrtání.
Kráťa 12.10.2007 12:26
Kráťa
Jupí jupí jupí, funguje. Až budu velkej, chci být programátorem. :-)
Kráťa 12.10.2007 12:30
Kráťa
Se mi to prve nějak zdálo či co... Když tam dám $text = Str_Replace('<a href="*">',"",$text); $text…
Kráťa 12.10.2007 13:22
Kráťa
$odkaz = '<a href="www.kl.cz">www.kl.cz</a>'; echo preg_replace('/<a href="(.*?)">(.*?)<\\/a>/i', '$…
host 12.10.2007 13:43
host
Mě to přijde jako na tento jeden konkrétní. Já bych to potřeboval na jakýkoli, kdekoli v textu. Je t…
Kráťa 12.10.2007 13:56
Kráťa
A ono ti to snad nefunguje na víc odkazů v textu?
host 12.10.2007 14:10
host
Já jich vícero různých nezkoušel, jelikož to nefunguje ani na tento jeden :-) Ona se mi tam před tím…
Kráťa 12.10.2007 14:36
Kráťa
Jasné že to predchádzajúce v premennej $text nič nenahradí. Ale to si už predsa zvládneš prepísať, a…
los 12.10.2007 15:57
los
Je to super, já to tam prve blbě dával. Vše funguje, převede se, ale až moc :-) Potřeboval bych ubra…
Kráťa 12.10.2007 17:20
Kráťa
Aha tak chybka bude možná u toho převodu na odkaz, jelikož mi to http:// ukradne ten převod a převed…
Kráťa 12.10.2007 18:39
Kráťa
Tak tam vlož obsah atribútu href namiesto toho, čo je medzi tagmi: $text = preg_replace('/<a href="…
los 13.10.2007 09:39
los
Hurá, přesně tak jsem to chtěl dík. poslední
Kráťa 13.10.2007 10:21
Kráťa

Nechcem ťa uraziť, ale to ti neprejde ani parsingom. Tie úvodzovky máš inak ako si napísal. Možno máš v tých '"<a href="*">' úvodzovky navyše a funkcia ich nenájde a keďže nie je zhoda, preto ti to nič nespraví. Pozri sa ako to máš v skutočnosti napísané.;-)

Edit: Omyl, parsingom to myslím prejde, apostrofy sú "viac" ako úvodzovky a preto ti to nič nespraví, lebo máš úvodzovky navyše.

Edit:

$text = Str_Replace('<a href="*">',"",$text);
$text = Str_Replace('</a>',"",$text);

Je to super, já to tam prve blbě dával. Vše funguje, převede se, ale až moc :-) Potřeboval bych ubrat, aby tam zůstalo to http://. Příklad:
Napíšu příspěvek a dám tam pc.porasdna.net. Při odeslání se mi převede na odkaz
Vyšťoural jsem na webu

$odpoved = preg_replace('#(http://|ftp://|(www\.))([\w\-]*\.[\w\-\.]*([/?][^\s]*)?)#e',"'<a href=\"'.('\\1'=='www.'?'http://':'\\1').'\\2\\3\">'.((strlen('\\2\\3')>23)?(substr('\\2\\3',0,20).'&hellip;'):'\\2\\3').'</a>'",$odpoved);

ve tvaru <a href="pc.poradna.net">pc.poradna.net</a> a když dám tento příspěvek upravit, ten tag se "ořeže", ale i s tím http:// a načte se pouze pc.poradna.net. To se samozřejmě při uložení na odkaz nepřevede.

Zpět do poradny Odpovědět na původní otázku Nahoru