htmlEntities, array_search e strip_tags para JavaScript

Postado por Micox - Náiron J. C. G..

11 Abril, 2007

Ae pessoal, tô cheio de serviço, fazendo um freela aí pra uma empresa de gravação telefônica, por isso tô meio sumido.

Pra que vocês não pensem que me sequestraram, vou postar umas duas funções que desenvolvi enquanto estava fazendo o site desta empresa. Rapidim pra saberem que (ainda) tô vivo.

Coisas simples, mas úteis às vezes: Array_search e htmlEntities para Java Script (lembram-se dessas funções do PHP?).

Estas funções também foram postadas por mim no novo portal temporário do iEvolution ('temporário' pois temos um concurso pra que os users façam o design do portal). Este portal tem uma filosofia inovadora de que todo mundo pode ser colunista-colaborador, basta postar seu tutorial no fórum respectivo.
Quisemos (ou estamos tentando) fazer um portal-fórum bem 'à lá Web 2.0'.

Bem, também tô devendo um post agradecendo as ajudas que todos me deram. Já achei um ótimo serviço de hospedagem-domínio e um ótimo designer.
Depois eu faço esta postagem e migro pro novo El Micox. O tempo tá curto.

Bora lá.

htmlEntities para Javascript

Postado originalmente em: htmlEntities para Javascript
Quase igual a do PHP, só que pra javascript.

Às vezes é necessário agente converter alguns caracteres acentuados para sua entidade HTML correspondente.
Assim você não precisa ficar quebrando muito a cabeça com o charset. HTMLEntities são entendidos geral.

Quem mexe com PHP já conhece bem uma função que faz isso: htmlEntities.

Quem precisar de algo mais ou menos equivalente pra JavaScript, eu fiz uma funçãozinha aqui.
A diferença principal da minha função é que eu transformo via número do código ASCII da letra.

Por exemplo: no htmlEntities do PHP o 'ã' irá virar ã
Na minha função abaixo irá virar ä

No final, fique tranquilo, irá aparecer o 'ã' normalmente na página (de acordo com meus cálculos).

Teste aí e veja:

function htmlEntities(texto){
       //by Micox - elmicox.blogspot.com - www.ievolutionweb.com
    var i,carac,letra,novo='';
    for(i=0;i<texto.length;i++){
        carac = texto[i].charCodeAt(0);
        if( (carac > 47 && carac < 58) || (carac > 62 && carac < 127) ){
            //se for numero ou letra normal
            novo += texto[i];
        }else{
            novo += "&#" + texto[i].charCodeAt(0) + ";";
        }
    }
    return novo;
}

Exemplo de uso:

document.getElementById('div_teste').innerHTML = htmlEntities('coração de porquio');

array_search para Javascript

Mais uma função baseada no PHP.
Agora é a array_search pra javascript.

Esta função procura por um valor em um array e retorna sua chave correspondente caso seja encontrado

function array_search(busca,oarray){
     //by Micox - elmicox.blogspot.com - www.ievolutionweb.com
    //ve se determinado valor existe no array e retorna sua chave
    for(var i in oarray){
        if(oarray[i]==busca){return i;}    
    }
    return false;
}

Exemplo (procuro o valor arroz dentro do array comidas e retorno sua chave):

var onde_esta_o_arroz = array_search('arroz', comidas);

Strip tags em javascript

Extra-post rapidim: strip_tags em javascript (baseada neste post).

Tira tags HTML de uma string.

var stringa = '<b>teste</b> <em>teste2</em>';
function strip_tags($text){
 return $text.replace(/<\/?[^>]+>/gi, '');
}
alert(strip_tags(stringa)); //vai mostrar 'teste teste2'

Acabou, agora vou sumir novamente pra terminar meus jobs.
Té mais macacada. Bugs, comenta ae. Dúvidas, vocês já sabem onde se deve perguntar né?

Marcadores:

E-mail Newsletter Feed RSS Resultado! Concursos Shopping Resultado

Não mande dúvidas nos comentários ou no meu e-mail. Mande elas para o fórum de desenvolvedores Webly. Tem mais gente lá gabaritada a responder e você não fica dependendo só do mico.


Comenta aí! Não cai o dedo e me incentiva a escrever mais. (10 comentários)





10 Comentários:

Anonymous Alexandre disse... 12 Abril, 2007 00:30  
Como é bom se sentir familiar com o Javascript!

Eu adoro PHP, sou viciado. Só que tenho arrepios do Javascript...

É bom "se sentir em casa" às vezes.
Blogger Aguinelo Pedroso disse... 12 Abril, 2007 10:11  
Cara muito bom.... estou tendo uns problemas com isso e acho que agora eles acabaram... hehehehe

Valew
Anonymous Canha disse... 12 Abril, 2007 15:26  
Mais uma vez você me salva!
Valeu cara!
http://digitalpaperweb.com.br/pt/?p=79

;D
Anonymous Aluísio Saboya disse... 14 Abril, 2007 01:57  
cara brigado pela ajuda, refiz uma aqui acho que resolveu, vou me orientar pelo que você disse, tentar aos poucos consertar tudo mas odeio essa palavra aos poucos ehuehue, e tou curtindo muito seu blog, apreender isso faz bem! até mais!
Anonymous Gino Netto disse... 14 Abril, 2007 20:45  
Olá Micox!

Estou começando a estudar PHP e outras linguagens para internet, apesar da minha praia ser Delphi para desktop, e acho que eu e seu blog teremos uma relação muito boa na qual as dicas serão muito bem vindas para uso no BlogGeral.

Por falar no BlogGeral, verifiquei que o El Micox não tem cadastro lá e então não imagino como foi que você me encontrou nesta vasta Web.

Um abraço e obrigado pela força no Sobreblogs!

Gino Netto
Blogger Micox - Náiron J. C. G. disse... 14 Abril, 2007 21:56  
@alexandre, aguinelo, canha, Aluísio
hehhe, valeus. É bom que serviram pra vocês aí pessoal.

@gino
véi, nem lembro comé que achei o sobreblogs heheh. Mas o blog geral eu não conhecia não. Fiz o cadastro lá e no fim de abril vou entrar naquela promoção lá. hahehe
(Só arruma aquela burocracia de data de nascimento no cadastro pelamordedeus!!! espanta qualquer um)
Blogger Micox - Náiron J. C. G. disse... 14 Abril, 2007 22:13  
@gino
Velho velho. Você tem que arrumar aquele cadastro lá urgente.
Tentei por vários caminhos e o negócio não foi não.
Teve hora que até apareceu um alert de javascript cheio de códigos seus.

Arruma lá e me avisa.
Anonymous Richard Venâncio disse... 28 Abril, 2007 09:52  
É micox muito legal as duas funções cara, parabens mesmo.

Principalmente pela HTMLentities, mas vc tem alguma ideia para uma função aocontrario?
Tipo:

Utilizamos ajax certo? Para retornarmos um texto descente(com relação aos acentos) devemos retornar htmlentities($txt), certo?

Porém, mtas vezes estamos retornando um combo(select) e os caracteres (â por exemplo) não será interpretados, então o mané aki criou uma função com arrays prenchidos tipo (x["Á"] = "Á"; x["á"] = "á"; x["Â"] = "Â";) e faço um for pra alterar novamente esses caracteres.

Tem outro jeito?
Vlw
Richard
Blogger Micox - Náiron J. C. G. disse... 30 Abril, 2007 07:00  
Olá Richard.
Acho que você está complicando um pouco a coisa não?
Há como simplificar este seu procedimento aí. Lembre-se que ainda podemos usar a linguagem server-side ao invés do javascript.
Bem, eu não entendi direito sua questão pois o blogger converteu os entities então não deu pra eu saber quem é entitie quem não é.
Qualquer coisa posta lá no fórum iEvolution pragente ver.
Blogger Crucifier disse... 02 Julho, 2007 23:17  
Micox mandou muito bem!
vou usar em um projeto meu, e vou deixar o copyright seu ;D
mas seguinte
você tem alguma função que faz o inverso do htmlentities?
tipo o htmlspecialchars_decode...
se tiver ou saber de algum lugar que possa ter agradeço...
valew micox!

Escreva seu comentário (Leia abaixo).

Deixe seu email se quiser resposta por email também, pois o sistema de comentários do Blogger não me informa :( ... Ah, também pode deixar o endereço do seu blog ou site no comentário.
Já estou em outro sistema de blog melhor (wordpress). Se quiser comentar lá também :)
Dúvidas, só no fórum Webly.

Links para este post:

<< Ir à página principal e ver as novas postagens.

El Micox - Alguns direitos resevados - Licença Creative Commons

Veja! Este é apenas um espelho do blog real elmicox.com. Assinando aqui, na verdade você está assinando lá.