|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<code class="javascript">
function htmlspecialchars (string, quote_style) {
// Convert special characters to HTML entities
//
// version: 812.3017
// discuss at: http://phpjs.org/functions/htmlspecialchars
// + original by: Mirek Slugen
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Nathan
// + bugfixed by: Arno
// + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// - depends on: get_html_translation_table
// * example 1: htmlspecialchars("<a href="test">Test</a>", 'ENT_QUOTES');
// * returns 1: '<a href='test'>Test</a>'
var histogram = {}, symbol = '', tmp_str = '', entity = '';
tmp_str = string.toString();
if (false === (histogram = get_html_translation_table('HTML_SPECIALCHARS', quote_style))) {
return false;
}
for (symbol in histogram) {
entity = histogram[symbol];
tmp_str = tmp_str.split(symbol).join(entity);
}
return tmp_str;
}
</code> |
Archive for julho, 2009
Função htmlspecialchars() do PHP no Javascript
Url Encode com Javascript
A função abaixo codifica uma string para que a mesma possa ser enviada pela url sem perder dados.
A função urlencode abaixo faz exatamente o mesmo que a do PHP.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
<code class="javascript">
function urlencode( str ) {
var histogram = {}, tmp_arr = [];
var ret = (str+'').toString();
var replacer = function(search, replace, str) {
var tmp_arr = [];
tmp_arr = str.split(search);
return tmp_arr.join(replace);
};
// The histogram is identical to the one in urldecode.
histogram["'"] = '%27';
histogram['('] = '%28';
histogram[')'] = '%29';
histogram['*'] = '%2A';
histogram['~'] = '%7E';
histogram['!'] = '%21';
histogram['%20'] = '+';
histogram['\u20AC'] = '%80';
histogram['\u0081'] = '%81';
histogram['\u201A'] = '%82';
histogram['\u0192'] = '%83';
histogram['\u201E'] = '%84';
histogram['\u2026'] = '%85';
histogram['\u2020'] = '%86';
histogram['\u2021'] = '%87';
histogram['\u02C6'] = '%88';
histogram['\u2030'] = '%89';
histogram['\u0160'] = '%8A';
histogram['\u2039'] = '%8B';
histogram['\u0152'] = '%8C';
histogram['\u008D'] = '%8D';
histogram['\u017D'] = '%8E';
histogram['\u008F'] = '%8F';
histogram['\u0090'] = '%90';
histogram['\u2018'] = '%91';
histogram['\u2019'] = '%92';
histogram['\u201C'] = '%93';
histogram['\u201D'] = '%94';
histogram['\u2022'] = '%95';
histogram['\u2013'] = '%96';
histogram['\u2014'] = '%97';
histogram['\u02DC'] = '%98';
histogram['\u2122'] = '%99';
histogram['\u0161'] = '%9A';
histogram['\u203A'] = '%9B';
histogram['\u0153'] = '%9C';
histogram['\u009D'] = '%9D';
histogram['\u017E'] = '%9E';
histogram['\u0178'] = '%9F';
// Begin with encodeURIComponent, which most resembles PHP's encoding functions
ret = encodeURIComponent(ret);
for (search in histogram) {
replace = histogram[search];
ret = replacer(search, replace, ret) // Custom replace. No regexing
}
// Uppercase for full PHP compatibility
return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {
return "%"+m2.toUpperCase();
});
return ret;
}
</code> |
Escopo de variáveis no JavaScript
Escopo de variáveis? Pois é, na maioria das vezes nos esquecemos de alguns pequenos detalhes durante o desenvolvimento, um deles é o escopo de variáveis. Nos preocupamos tanto com as regras de negócio, validações, páginas e tudo mais que envolve o desenvolvimento de um aplicativo web que passam desabercebicidos alguns detalhes.
O que é escopo?
Segundo nosso amigo ‘pai dos burros’ a definição é a seguinte: ” 1 Alvo, mira. 2 Objetivo. 3 Propósito, intuito “
O que mais se aplica no nosso caso com o javascript é o item 1. Um alvo, mira. É onde você consegue ‘ver’ a variável.
Para se declarar uma variável:
|
1 2 3 |
<code class="javascript">
var variavel = 'minha variavel';
</code> |
Existem dois escopos de variável no javascript: Global e Local
Uma variável Global é aquela que pode ser acessada em qualquer parte de nosso script, por exemplo:
|
1 2 3 |
<code class="javascript">
var VariavelGlobal = 'minha variavel global';
</code> |
Uma variável Local é aquela que só pode ser acessada no local onde está sendo criada, dentro de uma função por exemplo:
|
1 2 3 4 5 |
<code class="javascript">
function VariavelLocal(){
var VariavelLocal = 'minha variavel local';
}
</code> |
Entendido? ( Sim! =] )
Só que como sempre Murphy está presente entre nós, pode acontecer o seguinte: Você cria uma variável dentro de uma função e precisa acessar esse valor por uma outra função ou mesmo fora da que você criou. Como vimos, uma variável criada dentro de uma função é local, não pode ser acessada de ‘fora’. E agora?
Com este simples ‘truquezinho’.
|
1 2 3 4 5 |
<code class="javascript">
function VariavelGlobal(){
VariavelGlobal = 'minha variavel global em uma function';
}
</code> |
Quando isso acontecer com você, declare a variável dentro da função sem o ‘var‘. Nessa o javascript entende que essa variável é Global.
Resolvido nosso problema! =]