Liberar acesso externo no PHP para AJAX (crossdomain)

Estou num projeto onde utilizo o PHP para gerar alguns JSON e HTMLs que devem ser acessados de outro domínio.

Como eu queria acessar por AJAX usando o jQuery, eu precisava liberar o acesso externo com PHP. Afinal um domínio não consegue acessar outro por AJAX sem ter uma liberação.

Achei que a liberação seria muito difícil. Que eu precisaria habilitar por htaccess ou alguma coisa assim.

Mas é muito fácil!

Continuar lendo

Problemas ao contar caracteres com strlen do PHP

Problema

Estava validando uma string que tinha valor máximo de caracteres com a função strlen() do php.

Acontece que a função strlen() funciona muito bem para encoding iso-8859-1 ou quando a string não tem acentuação. Ou seja, quando a string tem um caracter acentuado a função retorna um strlen maior do que realmente deveria.

Para isso, devemos utilizar a função mb_strlen() que possui um segundo parâmetro, onde definimos qual o encoding utilizado.
Continuar lendo

Como chamar um Javascript externo dentro de um js tipo include

Eu sempre tentei fazer uma chamada de um arquivo Java Script externo dentro de outro. E sempre tive problemas.

Estava fazendo manutenção em um código, quando me deparei com o código do analytics. E percebi que o Google faz isso a décadas.

Se você, como eu, ainda não sabe(sabia) como fazer isso, veja:

<script type="text/javascript">
document.write(unescape("%3Cscript src='nomedoarquivo.js' type='text/javascript'%3E%3C/script%3E"));
</script>

Continuar lendo

Função que ordena arrays Randomicamente em JavaScript, como o shuffle() do PHP

Este post foi atualizado, pois eu encontrei que existem diversos algoritmos para esta função chamado shuffle()

De qualquer maneira, ainda acredito que este seja o melhor e menor algoritmo.

Então, se quiserem, o melhor nome para esta função é shuffle()
Pois no php, existe esta função nativa e funciona da mesma maneira!

Procurei algo como random() ou array_rand() que fosse nativa do JavaScript, porém não encontrei. Mas, econtrei uma função interessante, que funciona muito bem:

function randOrd() {
    return (Math.round(Math.random())-0.5);
}

Continuar lendo

Formatar moedas ou números decimais com a função number_format() do PHP

A função number_format() do PHP, além de trocar ponto(.) por vírgula(,), também serve para definir quantas casas decimais teremos no valor.

O número que é em Inglês 999.9 fica 999,90 no formato moeda brasileiro.
Além disso, podemos definir se irá exibir algum caracter a cada grupo de milhar(de mil em mil)

string number_format ( float $number, int $decimals, string $dec_point, string $thousands_sep )

podemos definir por:
valor texto number_format($valor_decimal, $casas_decimais,$caracter_definicao_decimal, $caracter_definicao_milhar)

Continuar lendo