Autor Zpráva
Euroblb
Profil
Chtěl jsem se zeptat jestli nevíte o nějaké adrese či překladači kde bych mohl zjistit jaké kodové náhrady můžu použít za uvedené znaky, a je jich ještě víc.
Na netu jsem to zkoušel, a jelikož neumím moc anglicky, a ani nevím jak se to nazíva, jsem nic nenašel.
a ještě by mě zajímalo které znaky jsou či nejsou povolené v emailové či internetové adrese. Je to kvůli vzkazníku ajiných podobných formulářů.

Děkuji.
Euroblb
Profil
Omlouvám se za tzv. span který byl spůsoben chybou mého připojení.
Děkuji za pochopení.
Joker
Profil
Euroblb
Tohle je první odkaz z Googlu na URL encoder: http://meyerweb.com/eric/tools/dencoder/

Ohledně povolených znaků v URL, použít se dá snad jakýkoliv, ale některé musí být právě URL encoded. Obecně se v URL mohou vyskytovat písmena (bez diakritiky), čísla, pomlčka, tečka, podtržítko a tilda. V názvu domény snad jen písmena, čísla a pomlčka.
Pak se v URL mohou na určitých místech vyskytovat ještě speciální (rezervované) znaky, což jsou: : / ? # [ ] @ ! $ & ' ( ) * + , ; =

další informace viz http://www.ietf.org/rfc/rfc3986.txt
peta
Profil *
Euroblb
V JS pouzivam toto filtrovani, ale neni to dokonale...

var reg,a,b,c,d,i,j,x,sml, o,oX,xSml;
d = ">"; //divider
// http://en.wikipedia.org/wiki/Domain_name
var xSource = new Array();
var xData = new Array();
var ip0 = "(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"; //255-250 249-200 199-100 99-10 9-0
var ip = "(?:(?:"+ ip0 +"\\.){3}"+ ip0 +")";
var mailsep = "[\\!#\\$%&\\'\\*\\+-\\/\\=\\?\\^_\\`\\{\\|\\}~]";
var linksep = "[_\\.-]";
var xHost = "[A-Za-z0-9](?:(?:"+ linksep +"?[a-zA-Z0-9]+)*)";
var xProtocol = "(?:(?:file|ftp|ftps|gopher|http|https|news|nntp|sftp|telnet)\\:\\/\\/ |"+ ip +")";
var xDomain = "(?:(?:"+ xHost + "\\.[a-zA-Z]{2,9})|"+ ip +")";
var xPort = "(?:\\:[0-9]{2,4})?";
var xFilter = new Array ();
/*smile*/
xFilter[0]="\\*([1-2]?[0-9])\\*";
xSml = (xSett.charAt(3))*1;
/*link*/
if ((xSett.charAt(4))*1==0)
{xFilter[2]="(("+ xProtocol + xDomain +")"+ xPort +"(?:\\/[-_~#%&;\\=\\?\\.a-zA-Z0-9\\/]*)?)";}
// http://msdn.microsoft.com:80/scripting/default.htm
/*mail*/
if ((xSett.charAt(5))*1==0)
{xFilter[3]="[A-Za-z0-9](?:(?:"+ mailsep +"?[a-zA-Z0-9]+)*)@"+ xDomain + xPort;}
// RFC2821/RFC2822 e-mailAddress[64]@domainName[255]
// me@24.111.232.1 joe_smith@here.com you.me.hello@somewhere.else.cc u-s_e.r1@s-ub2.domain-name.museum:8080 PN=Joe/OU=X400/@gateway.com
Euroblb
Profil
V tom tvém javascriptu se moc nevyznám, ale potřeboval bych akorát pporadit znaky nahrazujíci závorky atp. např. při "mezery" se hodí vždycky " " .
TAk bych chtěl náhradu za {}()/\" '
Děkuji.
krteczek
Profil
potřebuješ znaky do adresy? tak použij funkci rawurlencode(); a rawurldecode();
první zakoduje řetězec tak aby byl přenositelný v adrese a druhá ho zpětně dekoduje
krteczek
Euroblb
Profil
Ne..
Já nevím co máte porád s tou url adresou.
Přenáším data s formuláře přes POST. A potřebuju odďelat různé znaky v obsahu zprávy.
zaměnit různé znaky už umím, ale potřeboval bych vědět co zaměnit za {}()\ v php..
htmlspecialchars nechci, protože by změnil uplně všechny což některé zase potřebuji. například
[]/*-_%.
krteczek
Profil
Euroblbvíš co?udělej toto:
1. nejprve ošetři data touhle konstrukcí:

if (get_magic_quotes_gpc())

{

$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST, &$_FILES);

while (list($key, $val) = each($process))

{

foreach ($val as $k => $v)

{

unset($process[$key][$k]);

if (is_array($v))

{

$process[$key][($key < 5 ? $k : stripslashes($k))] = $v;

$process[] =& $process[$key][($key < 5 ? $k : stripslashes($k))];

}

else

{

$process[$key][stripslashes($k)] = stripslashes($v);



}

}

}

}


2. a potom je protáhni htmlspecialchars a zobraz si co se snimi stane ;-)

3. možná zaprvé!

Popis
string htmlspecialchars ( string string [, int quote_style [, string charset]] )

Některé znaky mají v HTML zvláštní význam, a pokud si mají zachovat běžný význam, měly by být reprezentovány HTML entitami. Tato funkce vrací řetězec, ve kterém došlo k některým z těchto konverzí; provádějí se ty překlady, které jsou v každodenním programování pro web nejužitečnější. Pokud požadujete překlad všech znakových entit HTML, použijte htmlentities().

Tato funkce je užitečná, pokud se chcete chránit před případným výskytem HTML v textu dodaném uživateli, například u aplikací typu kniha hostů nebo diskusní skupina. Volitelný druhý argument, quote_style, určuje, co se má stát s jednoduchými a dvojitými uvozovkami. Defaultní mód, ENT_COMPAT, je zpětně kompatibilní mód, konvertuje pouze dvojité uvozovky a jednoduché uvozovky ponechává nepřeložené. Pokud zadáte ENT_QUOTES, přeloží se jednoduché i dvojité uvozovky, a pokud zadáte ENT_NOQUOTES, oba druhy zůstanou bez překladu.

Dochází k těmto překladům:

*

'&' (ampersand) se stává '&amp;'
*

'"' (dvojitá uvozovka) se stává '&quot;' when ENT_NOQUOTES is not set.
*

''' (jednoduchá uvozovka) se stává ''' only when ENT_QUOTES is set.
*

'<' (menší než) se stává '&lt;'
*

'>' (větší než) se stává '&gt;'
Toto téma je uzamčeno. Odpověď nelze zaslat.

0