Categorias

Strings em PHP

O tratamento de strings em php é dos melhores. Existem várias funções que lhe permitem fazer quase o que quiser com uma string. Neste tutorial vou mostrar as principais funções para tratamento de strings. Antes de tudo, porém, é bom saber o que é uma string, certo? Pois bem: uma string é um conjunto de caracteres, letras, números, símbolos … qualquer coisa. No desenvolvimento de qualquer coisa você usará strings, não importa a linguagem que esteja a usar. Só que, dependendo da linguagem você terá certas restrições.

No php você tem uma comodidade que até o momento eu não vi em nenhuma outra linguagem. Veja abaixo algumas funções para manipulamento de strings que o php nos oferece:

str_replace

Esta função permite substituir um conteúdo dentro da string por outro conteúdo. Ela é usada, quando alguém pretende corrigir ou adaptar certa string a algum padrão.

Por exemplo, suponha que está fazendo um site em que pede que um usuário digite algo para ser publicado no site, tal como o mecanismo de publicação de conteúdo deste site (que é feito em asp e não em php). Só que, como você sabe, algumas pessoas mal-intencionadas aproveitam esta brecha para publicar códigos maliciosos em javascript. Como javascript é passado para execução no lado cliente e não no servidor ele será passado inteiro na string e será executado como se fosse parte da página. A menos que você faça algo que impeça isso. Para esses casos podemos usar uma função como str_replace.

Exemplo: $string1="<br>este é um teste de string<p>";
Veja que coloquei duas tags html aqui no texto. Como sabemos, as tags html ficam entre < >. Logo, podemos colocar o seguinte procedimento, a fim de "denunciar" a existência de tags html no texto:
$string1=str_replace(">","",$string1); $string1=str_replace("<","",$string1);
Substituimos os símbolos < e > por espaços. Isso faz com que as duas tags no texto que colocamos na string inicial apareçam. Você pode, com esta função, aprimorar um filtro para substituir outras coisas dentro da string e filtrar códigos maliciosos e outras coisas que julgue necessário filtrar. Com mais experiência você irá vendo formas melhores de aplicar str_replace. Lembre-se que esse é um tutorial básico, então vamos para a próxima função.

explode/implode

Essas duas funções tem efeitos contrários uma da outra. Explode, como o nome diz, "explode" uma string em vários pedacinhos. O resultado disto é um array. Implode faz o caminho inverso, faz um array virar uma única string. Para executar as duas funções basta fornecer uma string e uma substring que será usada para dividir a string maior.

Exemplo: $string2="Este/é/um/um/exemplo/de/string"; $array=explode("/",$string2);
Isto vai retornar um array com cada palavra da string, já que separamos cada palavra por "/".
Implode faz o processo inverso: $string3=implode("/",$array);
O resultado será igual ao da string inicial.

nl2br

Esta é uma função muito importante quando queremos colocar algo na tela do usuário proveniente de um arquivo ou banco de dados. Ocorre que, quando digitamos algo para um banco de dados ou arquivo, toda vez que trocamos de linha é inserido um caractere de escape n indicando que temos uma nova linha. Serve para indicar no arquivo que foi inserida uma nova linha. Só que o navegador não entende n como sendo troca de linha e coloca todo o texto que veio numa lnha só. Imagine então como ficaria um tutorial como esse, tudo numa linha só! Como resolver este problema? Eis a solução: nl2br.
O nome vem de uma montagem em inglês: new line to br (nova linha para br). Mas porque aparece 2 em vez de t? Simples: a pronúncia de "to" e de 2 ("two") são semelhantes.

Esta função faz com que todo n que aparece na string seja trocado por uma tag <br>. Os navegadores entendem <br> como sendo troca de linha e o texto sai do jeito que estava na fonte.

Essas são as funções mais usadas no php no quesito "string".