Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PHP - Ako zakódovať odkazy?

Na stránke sa vytvárajú aj odkazy, ktoré obsahujú znak medzera, prípadne iné znaky, ktoré si môže prehliadač pomýliť. Ako zapísať v PHP, aby sa odkaz správne previedol? Na prevedenie medzery používam str_replace, medzera sa aj prevedie, ale po kliknutí na odkaz sa mi vo FF v riadku pre adresu tá medzera objaví, hoci v zdrojáku bolo správne napísané %20. Pri IE sa objaví v riadku pre adresu správne %20 Je nejaký príkaz na úpravu odkazov alebo to treba upravovať ručne? Ako to prípadne dekódovať?

Jedná sa mi hlavne o znaky medzera a &, = (rovná sa) nie je dôležité.

Úprava: Ako som práve zistil, medzeru vo FF asi nechozchodím, má niekto lepšie skúsenosti s medzerou vo FF? Znak & som upravil cez str_replace.

Úprava 2: Ako som práve zistiť, neviem sfunkčniť znaky < a > ak s[ obsiahnut0 v odkaze. Je nutn0 aj tie previes5 cez str_replace? htmlspecialchars mi nepomohlo a uvítal by som radšej na to nejakú funkciu.

Předmět Autor Datum
Reťazce v URL sa kódujú pomocou funkcie urlencode, ktorá zakóduje medzeru ako znak +. URL v HTML sa…
los 14.04.2009 22:33
los
Aj som si to myslel, hľadal som funkciu s podobným názvom, ale nenašiel som nič. Chyba bola v tom, ž…
msx. 14.04.2009 22:57
msx.
Prekvapuje ma, že si to nevie poradiť, ak uzavriem znaky < a >, čiže niečo takéto: <a>. Úprava: Ber…
msx. 14.04.2009 23:02
msx.
Výsledkom urlencode("<a>") je %3Ca%3E - htmlspecialchars s tým už nič nespraví, keďže tam nie sú žia…
los 14.04.2009 23:11
los
Išlo o to, že sa to zobrazuje aj v obsahu stránky. poslední
msx. 16.04.2009 00:13
msx.

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