Strings em php

67
Manipulação de Strings em PHP Prof: Nadijar Casarin

description

Aula sobre manipulação de strings utilizando a linguagem PHP

Transcript of Strings em php

Page 1: Strings em php

Manipulação de Strings em PHP

Prof: Nadijar Casarin

Page 2: Strings em php

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);

?>

Page 3: Strings em php

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); ?>

Page 4: Strings em php

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>;

Page 5: Strings em php

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;

?>

Page 6: Strings em php

Decodifica uma string codificada com uuencode;

Retorna a informação decodificada como uma string.

<?php ◦ $string_convertida = convert_uudecode($converte); ◦ echo $string_convertida;

?>

Page 7: Strings em php

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>"; }

?>

Page 8: Strings em php

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);

?>

Page 9: Strings em php

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;

?>

Page 10: Strings em php

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;

?>

Page 11: Strings em php

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;

?>

Page 12: Strings em php
Page 13: Strings em php

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;

?>

Page 14: Strings em php

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;

?>

Page 15: Strings em php

É 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;

?>

Page 16: Strings em php

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 //...

?>

Page 17: Strings em php
Page 18: Strings em php

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;

?>

Page 19: Strings em php

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);

?>

Page 20: Strings em php
Page 21: Strings em php

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; ?>

Page 22: Strings em php

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;

?>

Page 23: Strings em php

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);

?>

Page 24: Strings em php

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');

?>

Page 25: Strings em php

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);

?>

Page 26: Strings em php

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');

?>

Page 27: Strings em php

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;

?>

Page 28: Strings em php

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;

?>

Page 29: Strings em php

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,",",".");

?>

Page 30: Strings em php
Page 31: Strings em php

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.

Page 32: Strings em php

Exemplo:

<?php $saida= “Nadijar";

print str_pad($saida, 10, "*");

?>

Page 33: Strings em php
Page 34: Strings em php

Repete uma string;

Retorna input repetida múltiplas vezes;

<?php

echo str_repeat("A-", 10);

?>

Page 35: Strings em php

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');

?>

Page 36: Strings em php

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;

?>

Page 37: Strings em php
Page 38: Strings em php

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>';

?>

Page 39: Strings em php
Page 40: Strings em php

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);

?>

Page 41: Strings em php

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;

?>

Page 42: Strings em php

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;

Page 43: Strings em php

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); ?>

Page 44: Strings em php

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'; }

?>

Page 45: Strings em php

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);

?>

Page 46: Strings em php

Retira espaço no inicio e final de uma string;

<?php $string = ' NADIJAR CASARIN ';

echo '<pre>';

echo $string;

echo '<br>';

echo trim($string);

?>

Page 47: Strings em php

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;

?>

Page 48: Strings em php

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;

?>

Page 49: Strings em php

Retorna o tamanho de uma string;

A string terá seu tamanho contado.

<?php $str = 'abcdef';

echo strlen($str);

?>

Page 50: Strings em php

Substitui todas as ocorrências da string de procura com a string de substituição;

<?php

echo str_replace("e","-","vicente");

?>

Page 51: Strings em php
Page 52: Strings em php

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>');

?>

Page 53: Strings em php
Page 54: Strings em php

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');

?>

Page 55: Strings em php

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));

?>

Page 56: Strings em php
Page 57: Strings em php

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

Page 58: Strings em php

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'; }

?>

Page 59: Strings em php

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.

Page 60: Strings em php

Exemplo:

<?php $var = ' '; unset($var); if (isset($var)){ echo 'Essa variável existe'; }else{ echo 'Essa variável não existe'; }

?>

Page 61: Strings em php

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.

Page 62: Strings em php

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';

}

?>

Page 63: Strings em php

Pega o protocolo que está sendo usado na URL.

<?php $protocolo = $_SERVER['SERVER_PROTOCOL'];

echo strtolower($protocolo);

?>

Page 64: Strings em php

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;

?>

Page 65: Strings em php

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;

?>

Page 66: Strings em php

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;

?>

Page 67: Strings em php