Autor | Zpráva | ||
---|---|---|---|
Groo Profil |
#1 · Zasláno: 1. 4. 2007, 22:11:01
Řeším tento problém už dlouho.
Neznáte někdo script, který by změnil mezeru na "="? Mám ovladač serveru. Příkaz se odesílá se pomocí <form action="http://../index.php?"><input type="text" ...>...</form> link vypadá potom tako: http://.../index.php?cd%20avatary... Abych s tím mohl pracovat jako s proměnou, musí tam být místo %20 "=". Neznáte script který by to uměl převést? |
||
souki Profil |
#2 · Zasláno: 1. 4. 2007, 22:15:38
v php? nebo js? nebo by to možná šlo přes mod_rewrite
v php by to bylo str_replace("%20","=",$url) // pořadím si nejsem jist |
||
koudi Profil |
#3 · Zasláno: 1. 4. 2007, 22:21:07
Mám ovladač serveru
Jak jsem to pochopil, tak zadáš do formu unixovej příkaz a ten se ti na serveru provede (třeba před exec, nebo tak)? A navíc přes GET? Tak to bych radši moc nedělal. |
||
Groo Profil |
#4 · Zasláno: 1. 4. 2007, 22:31:32
PHP... to $url nefunguje.
|
||
djlj Profil |
#5 · Zasláno: 1. 4. 2007, 22:36:00
to $url nefunguje.
Ano, samozřejmě si tam dosadíš vlastní proměnnou… |
||
Hooonza Profil * |
#6 · Zasláno: 1. 4. 2007, 23:12:05
No, jestli to dobře chápu, je to třeba udělat javaskriptem: před odesláním na server.
Z řetězce bych nejdřív vyházel %20, např. pomocí split: a = promenna; b = a.split('%20'); Počet znaků v řetězci b zjistím pomocí length: c = b.length; No a nakonec všechny části rozdělené proměnné spojím dohromady pomocí "=": e=""; for (d=0; d<c-1; d++) {e = e + b[d]+'='; }; e += b[d]; |
||
Hooonza Profil * |
#7 · Zasláno: 1. 4. 2007, 23:12:53
Funkční příklad:
<html> <script> function gogo() { a = document.form.ff.value; b = a.split('%20'); c = b.length; e=""; for (d=0; d<c-1; d++) {e = e + b[d]+'='; }; e += b[d]; alert ("Proměnná: "+a); alert("Pole zbavené %20: "+b); alert ("Počet prvků pole: "+c); alert("Výsledek, prvky spojené pomocí '=': "+e); } </script> <body> <form action="#" onsubmit="gogo();" name=form> <input type=text name=ff value="a%20b%20c%20d%20e"> <input type=submit> </form> </body></html> |
||
Hooonza Profil * |
#8 · Zasláno: 1. 4. 2007, 23:15:15
Proměnnou "a" je v mém příkladu třeba upravit, předvyplnil jsem do políčka řetězec s několika %20. Proměnná "e" je výstup, %20 je nahrazeno za "=".
|
||
Hooonza Profil * |
#9 · Zasláno: 1. 4. 2007, 23:39:31
I když popravdě, moje prohlížeče doma z <input type="text" ...> místo mezery neodesílají %20, ale "+".
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0