terça-feira, 27 de dezembro de 2011

Funções para Manuseamento de cordas


O PHP tem uma vasta seleção de built-in funções de cadeia de manejo que permitem que você facilmente manipular strings em quase toda a maneira possível. No entanto, aprender todas essas funções, lembrando que eles fazem, e quando eles podem vir a calhar pode ser um pouco difícil, especialmente para novos desenvolvedores. Não há nenhuma maneira que eu possa cobrir todas as funções string em um artigo, e além disso, que é o que o manual do PHP é para! Mas o que vou fazer é mostrar como trabalhar com algumas das funções de cadeia mais comumente usado de manipulação que você deve saber. Após isso, você estará trabalhando com strings, assim como qualquer violinista!

Sobre o Caso
PHP oferece diversas funções que permitem manipular o caso de personagens dentro de uma seqüência sem ter que editar a seqüência de caracteres por caractere. Por que você se preocupa com isso? Bem, talvez você quer garantir que determinado texto está todo em letras maiúsculas, como siglas, títulos, para dar ênfase ou apenas para garantir nomes são capitalizados corretamente. Ou talvez você só quer comparar duas strings e você quer garantir as letras que você está comparando são os mesmo conjunto de caracteres. As funções de manipulação de caso são muito fáceis de se familiarizar com, você só passar a seqüência como um parâmetro para a função eo valor de retorno que é a cadeia processado.
Se você quiser garantir que todas as letras em uma seqüência específica foram maiúsculas, você pode usar a strtoupper () função da seguinte forma:

<? Php
$ Str = "Como um fantoche em uma corda." ;
$ Cased = strtoupper ( $ str );
/ / Mostra: como um fantoche em uma corda.
echo $ cased ;

Talvez seja óbvio, mas ainda vale a pena notar que os números e outros caracteres do alfabeto não-não serão convertidos.
Como você provavelmente pode adivinhar, o strtolower () função faz exatamente o oposto do strtoupper () e converte uma string em letras minúsculas:

<? Php
$ Str = "como um fantoche em uma corda." ;
$ Cased = strtolower ( $ str );
/ / Mostra: como um fantoche em uma corda.
echo $ cased ;

Pode haver outros momentos em que você quiser garantir certas palavras, como nomes ou títulos, apenas tem a primeira letra de cada palavra em maiúsculas. Para isso, você pode usar o ucwords () função:

<? Php
$ Str = "um nó" ;
$ Cased = ucwords ( $ str );
/ / Mostra: A Knot
echo $ cased ;

Também é possível manipular o caso de apenas a primeira letra de uma string usando o lcfirst () e ucfirst () funções. Se você quer a primeira letra a ser minúsculas, use lcfirst () . Se você quer a primeira letra em maiúsculo, use ucfirst () . O ucfirst () função é provavelmente a mais útil, pois você pode usá-lo para garantir uma sentença sempre começa com uma letra maiúscula.

<? Php
$ Str = "o tempo é um pedaço de corda?" ;
$ Cased = ucfirst ( $ str );
/ / Mostra: Quanto tempo é um pedaço de corda?
echo $ cased ;

A Corte Rápido
Às vezes, uma seqüência precisa aparar arredondar as bordas. Pode ter espaços em branco ou outros caracteres no início ou no final que necessita de remoção. O espaço em branco pode ser um caractere de espaço real, mas também pode ser uma guia de retorno de carro, etc Um exemplo de quando você pode precisar fazer algo assim é quando você está trabalhando com a entrada do usuário e você quer limpá-lo -lo antes de começar a processá-lo. O trim () função em PHP lhe permite fazer exatamente isso, você pode passar a string como parâmetro e todos os espaços desde o início e fim da cadeia que será removido:

<? Php
$ Str = "Um pedaço de corda?" ;
/ / Mostra: string (22) "Um pedaço de corda?"
var_dump ( $ str );
$ Aparadas = trim ( $ str );
/ / Mostra: string (18) "Um pedaço de corda?"
var_dump ( $ aparadas );

trim () também é multi-propósito de que, além de a seqüência que você pode também passar um conjunto de caracteres e ele irá remover qualquer jogo que desde o início ou fim:

<? Php
$ Str = "Um pedaço de corda?" ;
$ Aparadas = trim ( $ str , "A?" );
/ / Mostra: string (16) "pedaço de corda"
var_dump ( $ aparadas );

Você precisa ter cuidado quando você trabalha com esses caracteres adicionais desde trim () só irá remover espaços em branco se você especificamente fornecê-lo como um dos personagens que você deseja remover:

<? Php
$ Str = "Um pedaço de corda?" ;
$ Aparadas = trim ( $ str , "A?" );
/ / Mostra: string (15) "pedaço de corda"
var_dump ( $ aparadas );

Embora trim () remove apenas caracteres no início e no final de uma string, ele foi removido tanto "A" eo espaço porque quando "A" é removido o espaço torna-se o novo começo da string, e para que também é removido .
Há também ltrim () e RTRIM () funções em PHP que são semelhantes ao trim () função, mas apenas remover espaço em branco (ou outros caracteres especificado) a partir da esquerda ou direita da string, respectivamente.

How Long é uma String (Piece of)?
Muitas vezes quando se trabalha com strings, você vai querer saber quanto tempo é. Por exemplo, quando se tratar de um formulário, você pode ter um campo onde você quer certificar-se os usuários não podem passar por cima de um determinado número de caracteres. Para contar o número de caracteres em uma string, você pode usar o strlen () função:

<? Php
$ Str = "Quanto tempo é um pedaço de corda?" ;
$ Tamanho = strlen ( $ str );
/ / Mostra: 30
echo $ size ;

Cordas para baixo para cortar Tamanho
Outra situação comum é encontrar um texto específico dentro de uma seqüência dada e "cortá-lo" para que você possa fazer outra coisa com ele. Para cortar uma corda para baixo ao tamanho, você precisa de um bom par de tesouras, e em PHP sua tesoura são os substr () função.

Para usar o substr () função, passar a seqüência que você deseja trabalhar como um parâmetro, juntamente com um número inteiro positivo ou negativo. O número determina onde você vai começar a cortar a corda; 0 inicia-lo fora no primeiro caractere da string (lembre-se que quando você contar através de uma string, o primeiro caractere da esquerda começa na posição 0, não 1).

<? Php
$ Str = "Como cortar uma corda para baixo para o tamanho" ;
$ Snip = substr ( $ str , 13);
/ / Mostra: string para baixo para o tamanho
echo $ snip ;

Quando você usa um número negativo, substr () vai começar para trás a partir do final da string.

<? Php
$ Str = "Como cortar uma corda para baixo para o tamanho" ;
$ Snip = substr ( $ str , -7);
/ / Mostra: o tamanho
echo $ snip ;

Um terceiro parâmetro opcional para substr () é o comprimento, outro valor inteiro que permite que você especifique o número de caracteres que pretende extrair da string.

<? Php
$ Str = "Como cortar uma corda para baixo para o tamanho" ;
$ Snip = substr ( $ str , 13, 6);
/ / Mostra: string
echo $ snip ;

Se você só precisa encontrar a posição de uma determinada peça de texto dentro de uma string e nada mais, você pode usar o strpos () função que retorna a posição de sua seleção é a partir do início da string. Um truque útil, especialmente quando você não sabe a posição inicial do texto que você corte a partir de uma string, é combinar as duas funções. Em vez de especificar uma posição inicial como um inteiro, você pode procurar por uma parte específica do texto e depois extrair isso.

<? Php
$ Str = "Como cortar uma corda para baixo para o tamanho" ;
$ Snip = substr ( $ str , strpos ( $ str , "string" ), 6);
/ / Mostra: string
echo $ snip ;
Swap Shop

Finalmente, vamos olhar para substituir um pedaço da corda com outra coisa, para o qual você pode usar str_replace () função. Isto é ideal para situações em que você só quer trocar exemplos de palavras específicas ou um conjunto de caracteres em uma string e substitui-los com algo mais:

<? Php
$ Oldstr = "O gato era negro" ;
$ Newstr = str_replace ( "preto" , "branco" , $ oldstr );
/ / Mostra: O gato era branco
echo $ newstr ;

Você também pode fornecer matrizes para str_replace () se você deseja substituir vários valores:

<? Php
$ Oldstr   = "A bandeira era vermelho, branco e azul." ;
$ America = matriz ( "vermelho" , "branco" , "azul" );
$ Alemanha = matriz ( "preto" , "vermelho" , "amarelo" );
$ Newstr = str_replace ( $ américa , alemanha $ , $ oldstr );
/ / Mostra: A bandeira era preto vermelho e amarelo.
echo $ newstr ;

str_replace () é case-sensitive, por isso, se você não quer se preocupar com isso, então você pode usar seu irmão case-insensitive em vez disso, str_ireplace () .

Sumário
Esperemos que este artigo deu-lhe um sabor de algumas das coisas que você pode fazer com strings em PHP e fez com fome de aprender mais. Eu realmente mal raspada a ponta do iceberg! O melhor lugar para saber mais sobre todas as funções de cadeia diferente é tomar algum tempo para ler a String página Funções no manual do PHP.
Eu adoraria saber que funções string que você encontrar-se com mais frequência, então sinta-se livre para mencioná-los nos comentários abaixo.

Nenhum comentário :

Postar um comentário

Total de visualizações de página