strings em php
DESCRIPTION
Aula sobre manipulação de strings utilizando a linguagem PHPTRANSCRIPT
Manipulação de Strings em PHP
Prof: Nadijar Casarin
Retorna uma string com barras invertidas antes de caracteres que precisam ser escapados para serem escapados;
Mais utilizados quando de inserção em banco de dados;
Exemplo: para inserir o nome O'reilly em um banco de dados, você vai
precisar escapa-lo;
A maior parte dos banco de dados faz isto com \ o que nos leva a O\'reilly.
<?php $str = "seu nome é 'juca' "; echo addslashes($str);
?>
Converte um dado binário em representação hexadecimal;
Retorna uma string ASCII uma representação hexadecimal de string;
<?php $nome = 'A'; echo bin2hex($nome); ?>
Elimina espaços a direita das strings; Se não tiver espaços mostra só o primeiro caractere;
<?php echo '<pre>';
echo chop(" Nome "); echo 'teste';
?> Para melhor visualizar deve-se usar o comando HTML
<pre>;
codifica uma string usando o algoritmo uuencode;
Uuencode traduz toda string (incluindo binários) em caracteres imprimíveis, fazendo eles seguro para transmissão em rede;
Dados uuencoded fica 35% maior que o original.
<?php $nome_string = "teste\ntexte texte\r\n"; $converte = convert_uuencode($nome_string); echo $converte;
?>
Decodifica uma string codificada com uuencode;
Retorna a informação decodificada como uma string.
<?php ◦ $string_convertida = convert_uudecode($converte); ◦ echo $string_convertida;
?>
Retorna informações sobre os caracteres usados em uma string;
Conta o número de ocorrências de cada byte-value (0..255) na string e retorna ela de várias maneiras;
Retorna o número de vezes que um letra aparece em um texto;
O comando count_chars(), sozinho cria um array;
Diferencia maiúsculas e minúsculas;
<?php $data = "Recife - pernambuco."; foreach (count_chars($data, 1) as $i => $val){ echo "O caracter \"", chr($i), "\" aparece $val vezes no texto.<br>"; }
?>
Calcula polinômio crc32 de uma string;
Gera o polinômio cyclic redundancy checksum de 32-bit de comprimento do string;
É usado geralmente para validar a integridade de um dado sendo transferido;
Devido ao tipo integer do PHP conter sinal e muitos dos checksums crc32 resultarem em integers negativos, você precisa usar o formatador "%u" de sprintf() ou printf() para obter uma string representando o checksum crc32 sem sinal.
<?php $checksum = crc32("A ligeira raposa marrom saltou sobre o cão preguiçoso"); printf("%u", $checksum);
?>
Encriptação unidirecional de string (hashing);
retornará uma string criptografada usando o algoritmo de encriptação Unix Standard DES-based ou algoritmos alternativos disponíveis no sistema;
O Standard DES-based crypt() retorna o salt como o primeiro two characters da saída. Ele também usa apenas os oito primeiros caracteres da str, então strings longas que começam com os mesmos oito caracteres gerarão o mesmo resultado (quando o mesmo salt é usado).
<?php $senha = 'casarin9876'; $senha_criptografada = crypt($senha); echo $senha_criptografada;
?>
Calcula o "hash MD5" de uma string;
Retorna o hash como um número hexadecimal de 32 caracteres;
É uma criptografia de mão única;
<?php $senha = 'casarin9876'; $senha_criptografada = md5($senha); echo $senha_criptografada;
?>
Calcula hash md5 de um dado arquivo;
Calcula o hash MD5 do arquivo especificado pelo parâmetro filename usando o » RSA Data Security, Inc. MD5 Message-Digest Algorithm, e retorna esse hash. A hash é um número hexadecimal de 32 caracteres.
<?php $filename = "arquivo01.txt"; $md5file = md5_file($filename); echo $md5file;
?>
Calcula a hash sha1 de uma string; Calcula a hash sha1 de str usando » US Secure Hash Algorithm 1,
e retorna esta hash;
A hash é um número hexadecimal de 40 caracteres;
Se o parâmetro opcional raw_output for TRUE, então o resultado é retornado em um formato binário com o tamanho de 20;
O parâmetro opcional raw_output foi adicionado no PHP 5.0.0 e o padrão é FALSE.
<?php $string = "arquivo01.txt"; $string_modificada = sha1($string); echo $string_modificada;
?>
Calcula a hash sha1 de um arquivo;
Calcula a hash sha1 de nomedoarquivo usando » US Secure Hash Algorithm 1, e retorna esta hash;
A hash é um número hexadecimal de 40 caracteres.
<?php $filename = "arquivo01.txt"; $md5file = sha1_file($filename); echo $md5file;
?>
É um método para codificação dos dados para transferência na Internet;
É uma codificação de mão dupla, e usando uma segunda função você pode descobrir a string original de uma string codificada.
Criptografando e Decriptografando:
<?php $senha = 'casarin9876'; $senha_criptografada = base64_encode($senha); echo $senha_criptografada; $senha_decriptografada = base64_decode($senha_criptografada); echo $senha_decriptografada;
?>
Divide uma string em strings;
Retorna uma matriz de strings, cada uma como substring de string formada pela divisão dela a partir do delimiter;
Elimina um determinado caractere de uma texto;
<?php $pizzas = "sabor01 sabor02 sabor03 sabor04 sabor05 sabor06"; $sabores = explode(" ", $pizzas); echo $sabores[0]. '<br>'; // sabor01 echo $sabores[1] . '<br>'; // sabor02 //...
?>
Junta elementos de uma matriz em uma string;
Retorna uma string contendo os elementos da matriz na mesma ordem com uma ligação entre cada elemento;
Funciona somente em arrays;
<?php $array = array('Nome', 'email', 'telfeone'); $retorno = implode(",", $array); echo $retorno;
?>
Escreve uma string formatada para um stream (fluxo);
Escreve um texto em um arquivo .txt.
<?php $numero = 30; $cidade = "Dois Vizinhos"; $arquivo = fopen("teste.txt","w"); echo fprintf($arquivo,"Existe %u mil pessoas em %s.",$numero,$cidade);
?>
Torna minúsculo o primeiro caractere de uma string;
Retorna uma string com o primeiro caractere de str em letra minúscula se o caractere for alfabético;
<?php $texto = 'Nadijar'; $texto_mn = lcfirst($texto); echo $texto_mn; ?>
Converte para maiúsculas o primeiro caractere de cada palavra;
Retorna uma string com o primeiro caractere de cada palavra em str em maiúscula, se este caractere fizer parte do alfabeto.
<?php $string = ucwords("nadijar vicente casarin"); echo $string;
?>
Converte uma string para maiúsculas;
Retorna string com todos os caracteres do alfabeto convertidos para maiúsculas.
<?php $str = "a cidade de dois vizinhos fica no sudoeste";
echo $str_mai = strtoupper($str);
?>
Faz a mesma coisa que o strtoupper();
Porém trabalha com mais um parâmetro para acentuação.
<?php $str = "a cidade de possui várias empresas no ramo de importação e exportação"; echo $str_min = strtoupper($str); echo '<br>'; echo $str_min = mb_strtoupper($str, 'UTF-8');
?>
Converte uma string para minúsculas;
Retorna string com todos os caracteres do alfabeto convertidos para minúsculas.
<?php $str = "A CIDADE DE DOIS VIZINHOS FICA NO SUDOESTE";
echo $str_min = strtolower($str);
?>
Faz a mesma coisa que o strtolower();
Porém trabalha com mais um parâmetro para acentuação.
<?php $str = "A CIDADE DE POSSUI VÁRIAS EMPRESAS NO RAMO DE IMPORTAÇÃO E EXPORTAÇÃO"; echo $str_min = strtolower($str); echo '<br>'; echo $str_min = mb_strtolower($str, 'UTF-8');
?>
Calcula a similaridade entre duas strings;
Passando uma referencia como terceiro argumento, a função similar_text() irá calcular o percentual de similaridade para você.
<?php similar_text("Tio", "tio", $sim);
echo $sim;
?>
Insere quebras de linha HTML antes de todas newlines (novas linhas) em uma string;
Retorna string com '<br />' inserido antes de todas as newlines;
<?php $texto = ' o Rato Roeu a roupa do rei de roma A rainha de raiva roeu o resto'; echo $texto; $texto_nbr = nl2br($texto); echo '<br>'; echo $texto_nbr;
?>
Formata um número com os milhares agrupados;
Retorna uma versão formatada de number;
Esta função aceita um, dois ou quatro parâmetros.
<?php $valor = 1000;
echo number_format($valor,0,",",".");
?>
Preenche uma string para um certo tamanho com outra string;
Esta função retorna a string input preenchida na esquerda, direita ou ambos os lados até o tamanho especificado;
Se o parâmetro opcional pad_string não for indicado, input é preenchido com espaços, se não é preenchido com os caracteres de pad_string até o limite;
O parâmetro opcional pad_type pode ser STR_PAD_RIGHT (preencher a direita), STR_PAD_LEFT (preencher a esquerda), ou STR_PAD_BOTH (preencher de ambos os lados);
Se pad_type não for especificado é assumido que seja STR_PAD_RIGHT;
Se o valor de pad_length é negativo ou menor do que o tamanho da string , não há nenhum preenchimento.
Exemplo:
<?php $saida= “Nadijar";
print str_pad($saida, 10, "*");
?>
Repete uma string;
Retorna input repetida múltiplas vezes;
<?php
echo str_repeat("A-", 10);
?>
Conta o número de ocorrências de uma substring;
retorna o número de vezes que a substring needle ocorre na string. Note que needle faz distinção de maiúscula e minúscula;
Esta função não conta substrings sobrepostas.
<?php $texto = 'Este é um teste'; echo substr_count($texto, 't');
?>
Encontra a posição da primeira ocorrência de uma string;
Retorna a posição numérica da primeira ocorrência de needle dentro de haystack.
A posição mostrada é a posição de vetor;
<?php $mystring = 'Nadijar'; $findme = 'i'; $pos = strpos($mystring, $findme); echo $pos;
?>
Arredonda um número;
Retornar um valor arredondado de val em precision casas decimais;
<?php echo round(3.4).'<br>'; echo round(3.5) .'<br>'; echo round(3.6) .'<br>'; echo round(3.6, 0) .'<br>'; echo round(1.95583, 2) .'<br>'; echo round(1241757, -3) .'<br>'; echo round(5.045, 2) .'<br>'; echo round(5.055, 2) .'<br>';
?>
Retorna uma parte de uma string;
Retorna a parte de string especificada pelo parâmetro start e length;
Se start for negativo, a string retornada irá começar no caractere start a partir do fim de string.
<?php echo $rest = substr("abcdef", 1); echo '<br>'; echo $rest = substr("abcdef", -1); echo '<br>'; echo $rest = substr("abcdef", -2); echo '<br>'; echo $rest = substr("abcdef", -3, 1);
?>
Encontra a primeira ocorrência de uma string;
Retorna parte da string haystack a partir da primeira ocorrência de needle até o final de haystack;
Esta função diferencia maiúsculas e minúsculas.
<?php $email = '[email protected]'; $dominio = strstr($email, '@'); echo $dominio;
?>
Mistura uma string aleatoriamente;
Uma permutação de todas as possibilidades é criada.
<?php $str = 'abcdef'; $misturada = str_shuffle($str); echo $misturada;
?>
A cada atualização da página o resultado muda;
Gera um inteiro aleatório;
Se chamado sem os parâmetros opcionais min e max, rand() retornará um pseudo inteiro randômico entre 0 e getrandmax() (maior valor aleatório possível);
Se você precisa de um número aleatório entre 5 e 15 (inclusive), por exemplo, utilize rand (5, 15).
<?php echo rand(); echo '<br>'; echo rand(); echo '<br>'; echo rand(5, 15); ?>
Comparação de strings sem diferenciar maiúsculas e minúsculas segura para binário;
Retorna < 0 se str1 é menor do que str2 e > 0 se str1 é maior do que str2, e 0 se forem iguais.
<?php $var1 = "HElLo"; $var2 = "hello"; if (strcasecmp($var1, $var2) == 0) { echo '$var1 é igual a $var2 numa comparação sem diferenciar maiúsculas e minúsculas'; }
?>
Retira as tags HTML e PHP de uma string;
Esta função tenta retornar uma string retirando todas as tags HTML e PHP de str;
Comentários HTML e tags PHP também são retirados. E isto não pode ser modificado.
<?php $text = '<p>Teste paragrafo.</p><!-- Commentário --> <a href="#link">Outro texto</a>'; echo strip_tags($text);
?>
Retira espaço no inicio e final de uma string;
<?php $string = ' NADIJAR CASARIN ';
echo '<pre>';
echo $string;
echo '<br>';
echo trim($string);
?>
Retira espaços em branco (ou outros caracteres) do início da string, ou seja do lado esquerdo (l = left);
<?php $string = ' Nadijar '; $string2 = 'Casarin'; echo '<pre>'; echo $string, $string2; echo '<br>'; echo ltrim($string); echo $string2;
?>
Retira espaço em branco (ou outros caracteres) do final da string, ou seja à direita (r = rigth).
<?php $string = ' Nadijar '; $string2 = 'Casarin'; echo '<pre>'; echo $string, $string2; echo '<br>'; echo rtrim($string); echo $string2;
?>
Retorna o tamanho de uma string;
A string terá seu tamanho contado.
<?php $str = 'abcdef';
echo strlen($str);
?>
Substitui todas as ocorrências da string de procura com a string de substituição;
<?php
echo str_replace("e","-","vicente");
?>
Quebra uma string em um dado número de caracteres;
Quebra uma string em um dado número de caracteres usando um caractere de quebra de linha ex.: <br>.
<?php $string = 'nadijar vicente casarin'; echo wordwrap($string,3,‘<br>');
?>
Formata a data e a hora local;
<?php echo date('Y-m-d');
echo '<br>';
echo date('d-m-Y');
echo '<br>';
echo date('d-m-Y H:i:s');
?>
Analisa qualquer descrição em texto em inglês de data hora em timestamp Unix;
<?php $datamysql = '2014-03-11 04:26:15';
echo $data_transformada = date('d/m/Y H:i:s', strtotime($datamysql));
?>
Informa se a variável foi iniciada;
isset() retornará FALSE se for usada em uma variável com o valor NULL;
Lembrando que no PHP um byte NULL ("\0") é diferente da constante NULL; Se múltiplos parâmetros são fornecidos, então isset() retornará TRUE somente se todos os parâmetros são definidos;
A avaliação vai da esquerda para direita e pára logo que encontra uma variável não definida;
isset() somente funciona com variáveis, passando qualquer outra coisa resultará em um erro do analisador
Exemplo:
<?php $var = ' '; // Será interpretado como TRUE imprimindo o texto. if (isset($var)){ echo 'Essa variável existe'; }else{ echo 'Essa variável não existe'; }
?>
destrói a variável especificada;
O comportamento de unset() pode variar dentro de uma função dependendo do tipo de variável que você está tentando destruir;
Se utilizar unset() em uma variável global dentro de uma função, somente a variável local será destruída;
A variável no ambiente que foi chamada terá o mesmo valor como antes da execução de unset();
Muito utilizado para destruir sessions.
Exemplo:
<?php $var = ' '; unset($var); if (isset($var)){ echo 'Essa variável existe'; }else{ echo 'Essa variável não existe'; }
?>
Informa se a variável é vazia;
empty() somente verifica variáveis, qualquer outra coisa então irá resultar em um parse error;
Em outras palavras, o seguinte não irá funcionar: empty(trim($name));
Retorna FALSE se var não for vazia e valor diferente de zero.
Exemplo:
<?php
$var = 0;
// Se a variável for setada com o valor zero (0) será interpretado como true, porque zero é um valor vazio
if(empty($var)) {
echo 'A variável está vazia';
}else{
echo 'A variável não está vazia';
}
?>
Pega o protocolo que está sendo usado na URL.
<?php $protocolo = $_SERVER['SERVER_PROTOCOL'];
echo strtolower($protocolo);
?>
Servidor e ambiente de execução;
É um array contendo informações como headers, caminhos e localizações do script;
Os itens deste array são criados pelo servidor web;
Não há garantia de que cada servidor web será mostrado algum destes servidores podem ser omitidos, ou fornecer outros nomes; <?php
$server = $_SERVER['SERVER_NAME']; echo $server;
?>
Pega a URL a partir do servidor, ou seja tudo que estiver após o que foi pegado com a função $_SERVER['SERVER_NAME'].
<?php $endereco = $_SERVER['REQUEST_URI'];
echo $endereco;
?>
Pega o ip atual do usuário;
getenv("REMOTE_ADDR") = similar.
<?php $ip = getenv("REMOTE_ADDR"); echo $ip; echo '<br>'; $ip_2 = $_SERVER["REMOTE_ADDR"]; echo $ip_2;
?>