Alura > Cursos de Programação > Cursos de PHP > Conteúdos de PHP > Primeiras aulas do curso PHP Strings: manipulando textos com PHP

PHP Strings: manipulando textos com PHP

Novidades - Apresentação

Sejam muito bem-vindos(as) à Alura. Eu sou o Vinicius Dias e guiarei vocês neste treinamento sobre PHP e strings, em que vamos nos aprofundar no conhecimento de strings utilizando várias funções do PHP.

Esse treinamento precisa que você conheça as sintaxes do PHP, que tenha feito os cursos básicos de PHP, mas eu quero te lembrar que esse é um treinamento básico, é um treinamento ainda iniciante. Se você já domina o PHP, trabalha com PHP a bastante tempo, não espere um conteúdo absurdamente avançado, mas com certeza você vai conseguir também se beneficiar deste conteúdo.

Como é um conteúdo para iniciantes, vamos começar revisando o ambiente necessário e já te adianto, a única coisa que você precisa é do PHP instalado na sua máquina. Depois vamos começar a falar sobre algumas novidades das versões mais recentes, pelo menos no momento dessa gravação, que o PHP trouxe em relação a strings, funções novas, mudanças de comportamento, etc.

Depois vamos começar a entender como pegar pedaços de um texto. Se eu tenho uma string maior como que eu pego somente um pedaço do início dela, por exemplo, ou um pedaço só do final. E a partir disso vamos descobrir como buscar a posição de uma string dentro de outra ou a posição de caractere dentro dessa string.

Vamos ver como colocar strings em letra maiúscula, em letra minúscula, etc. Depois vamos ver como separar uma string em array e como juntar um array em uma string. São manipulações muito comuns de fazermos no dia a dia, como aparar as bordas da nossa string removendo espaços ou algum caractere que quisermos. Depois entramos em alguns detalhes de sintaxe, strings numéricas e como o PHP trabalha com isso, aquelas famigeradas, sintaxes de heredoc, nowdoc.

Vamos ver o que são essas sintaxes e quando utilizar e no final, após ter feito algumas substituições em strings, mudar um caractere para outro, mudar uma palavra para outra, vamos entrar no assunto de expressões regulares.

Esse não é um treinamento de expressões regulares, mas você não precisa saber sobre expressões regulares para fazê-lo. Lá no final eu vou falar um pouco sobre o que é esse assunto. Mas recomendo que conforme você vai evoluindo no seu conhecimento de PHP, faça uma pausa e realize o treinamento da plataforma Alura de expressões regulares.

Existe um curso específico para isso e todo conhecimento ensinado lá pode ser utilizado no PHP. Enfim, temos muita coisa para aprender nesse treinamento. Vamos aprender muito sobre strings, funções, sintaxes, etc. Se em qualquer momento você ficar com alguma dúvida não hesite, abra um tópico no fórum, eu tento responder pessoalmente sempre que possível, mas quando eu não consigo temos grande comunidade de alunos(as), moderadores(as) e instrutores(as). Com certeza alguém vai conseguir te ajudar.

Mais uma vez, sejam muito bem-vindos(as) ao treinamento, espero que aprendam bastante e te espero no próximo vídeo para conversarmos sobre o que é necessário ter instalado para seguir com o curso.

Novidades - Revisando o ambiente

Bem-vindos de volta. Antes de escrever a parte do código, vamos falar um pouco sobre ambientes. Se você acabou de fazer os treinamentos iniciais de PHP, muito provavelmente já está com a mesma versão do PHP que vou utilizar neste curso. Mas se você fez aqueles treinamentos há algum tempo já, talvez esteja com uma versão diferente instalada.

Neste treinamento eu preciso que você esteja pelo menos com a versão 8.1 do PHP. Pode ser até a 8.1.0, sem problemas, mas precisa ser a 8.1. No momento da gravação deste vídeo a mais recente é a 8.1.6, mas se você tiver com 8.1.0 já está bom. Porque vamos utilizar algumas funcionalidades das novas versões do PHP, por isso preciso que você esteja com a sua máquina atualizada, com a sua versão do PHP atualizada para não termos nenhuma discrepância.

Se você instalou uma versão mais antiga, se eu não me engano nos treinamentos anteriores utilizamos a versão 7.2 ou 7.3 que era a versão mais recente da época, você só precisa baixar essa nova versão do PHP e alterar aquela variável do path se você tiver no Windows. Se tiver no Linux existe uma forma de você atualizar, é só você instalar uma nova versão do mesmo repositório que você baixou, etc.

Enfim, caso você esteja no Linux você já consegue se virar um pouco mais, no Windows você só vai precisar alterar aquela variável path, mas basicamente o que você precisa é ter pelo menos a versão 8.1.

Na minha máquina o que eu vou fazer, de novo, relembrando, eu utilizo uma IDE, só que eu não vou utilizar nada específico dessa IDE, você pode utilizar o Visual Studio Code, o Sublime, o bloco de notas se quiser, sem problema nenhum. E tudo que eu fizer aqui embaixo você vai fazer no seu terminal, é como se eu estivesse com essa tela do Prompt de Comando da própria máquina, aberta no seu terminal.

Lembrando alguns detalhes do terminal, com o comando cd você entra nas pastas. Você vai abrir o terminal e digitar cd e o caminho para a pasta que você criou para fazer esse projeto. Eu já estou na pasta correta, tudo o que digitar já vai ser executado na pasta do meu projeto.

Só para confirmar, quando digitamos php -v temos a versão do PHP instalada. Já temos o nosso ambiente configurado, já estamos prontos para aprender o que é o assunto desse treinamento que são as strings. No próximo vídeo já começamos em um ponto bem interessante que são algumas das novidades do PHP 8 em relação às strings.

Novidades - String dentro da outra

Bem-vindos de volta. Agora que já revisamos o ambiente, vamos começar a escrever o código. Só relembrando, você precisa estar pelo menos com a versão 8.1 instalada. Mas qualquer versão mais nova também vai funcionar. Se quando você estiver fazendo esse curso já tiver saído a versão 9, a versão 10 do PHP pode usar sem medo que tudo vai continuar funcionando.

Eu vou criar um arquivo PHP chamado "primeira-aula.php", tenho uma tag no PHP aberto e vamos lá. Eu vou ter neste arquivo alguma variável que vai conter uma string. Só para relembrar já fizemos bastante isso, uma variável e posso colocar tanto entre aspas duplas quanto entre aspas simples ou apóstrofos, eu vou colocar o meu nome: $nome = 'Vinicius Dias';.

Eu tenho uma variável que contém uma string, contém um texto e desse texto eu quero verificar se, por exemplo, esse nome é de alguém da minha família. Como posso verificar isso? Eu quero garantir que na variável nome, ou seja, dentro desse texto entre aspas simples exista a outra string, Dias.

O nome pode ser Dias Alguma Coisa, pode ser Alguma Coisa Dias, não importa, o que importa é o nome Dias precisa existir dentro dessa variável. Basicamente eu quero verificar se uma string contém outra string, se uma string está dentro de outra string.

E para fazer isso com o PHP, temos desde a versão 8.0 uma nova função chamada str_contains();. Essa função, repare que o PHPStorm já está me dando um aviso falando que eu preciso configurá-lo para colocar como a versão da linguagem pelo menos a versão 8.0. Por isso que eu comentei que você precisa atualizar o seu PHP.

Vou avisar ao PHPStorm que estou utilizando o PHP 8, sem problema e vamos continuar. Essa função espera dois parâmetros, o primeiro parâmetro é onde vamos buscar a string que queremos buscar. Por exemplo, se eu quero buscar algo em nome, o primeiro parâmetro é nome: str_contains($nome);. E o segundo parâmetro é o que queremos buscar nesse primeiro parâmetro, no nosso caso é a palavra Dias, str_contains($nome, needle: 'Dias');.

Isso vai nos retornar, se eu passar o mouse no PHPStorm ele consegue trazer a documentação para nós, quando eu clico em “str_contains”, consigo ver que ela retorna um booleano. Isso quer dizer que essa função vai retornar verdadeiro se a palavra Dias existir dentro de nome e vai retornar falso se Dias não existir em nome.

Como posso verificar o conteúdo dessa variável? Porque se eu fizer simplesmente echo str_contains($nome, needle: 'Dias'); se isso for falso ele não vai exibir nada, se for verdadeiro, talvez ele exiba o número 1. Existem alguns detalhes de conversão que não precisamos entrar em detalhes, mas tem uma função que podemos utilizar para analisar o valor de uma variável, o nome dessa função é var_dump.

Essa função basicamente joga para nós o valor dessa variável e qual o seu tipo também. Tenho o meu arquivo e eu espero que isso nos retorne verdadeiro, quando eu executar $ php primeira-aula.php. Lembrando que eu preciso executar esse comando no terminal já estando na pasta do meu projeto, quando eu executo isso eu tenho lá como resultado um booleano que é verdadeiro, true.

Com isso, consigo identificar se esse nome é da minha família. Vou copiar esse texto e criar uma nova variável $ehDaMinhaFamilia = str_contains($nome, needle: 'Dias'); e que eu posso atribuir esse valor a uma variável. Eu posso, para não precisar ficar fazendo var_dump, verificar, se é da minha família eu exibo uma mensagem dizendo echo "$nome é da minha família". PHP_EOL;, e posso adicionar uma quebra de linha no final. Caso contrário eu posso dizer que echo "$nome não é da minha fsmília". PHP_EOL;.

Já aproveitamos para treinar também dois outros conceitos de string, a interpolação de strings com variáveis, ou seja, adicionar uma variável dentro de uma string e a concatenação de variáveis, estou juntando uma variável com a outra. São conceitos que já vimos bastante, mas não custa nada relembrar.

Quando eu executo Vinicius Dias é da minha família. Agora se eu chamo de Vinicius dos Santos agora quando eu executar eu não sou mais da minha família. Com isso, conseguimos fazer a verificação.

Agora eu comentei que essa função surgiu no PHP 8.0, talvez você esteja se perguntando: "Vinicius, isso parece ser uma verificação bem simples, parece ser uma tarefa cotidiana você verificar se uma string contém algum texto, se dentro de um texto tem alguma palavra, por exemplo, isso é uma tarefa muito comum de fazermos. Como isso era feito antes do PHP 8.0?".

Antes do PHP 8.0 eu precisaria procurar a posição da palavra Dias na variável nome e aí a função que procura a posição poderia retornar ou a posição, ou falso. Para verificar isso, eu precisaria verificar se a função que busca posição não retorna falsa. Repare que até te explicando é mais complexo, vamos ver ainda nesse treinamento a função que busca a posição de uma string. Se eu só quero verificar se uma string existe dentro da outra a função str_contains é mais simples de se utilizar.

Eu consigo verificar se uma string está dentro de outra, mas existem outros cenários que eu quero verificar de forma um pouco mais específica, por exemplo, eu quero saber se uma string começa com determinado texto, eu quero saber se o texto termina com determinada string. Essas funções são o que vamos aprender no próximo vídeo.

Sobre o curso PHP Strings: manipulando textos com PHP

O curso PHP Strings: manipulando textos com PHP possui 131 minutos de vídeos, em um total de 42 atividades. Gostou? Conheça nossos outros cursos de PHP em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda PHP acessando integralmente esse e outros cursos, comece hoje!

Plus

De
R$ 1.800
12X
R$109
à vista R$1.308
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

Matricule-se

Pro

De
R$ 2.400
12X
R$149
à vista R$1.788
  • Acesso a TODOS os cursos da Alura

    Mais de 1500 cursos completamente atualizados, com novos lançamentos todas as semanas, emProgramação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Luri, a inteligência artificial da Alura

    Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com Luri até 100 mensagens por semana.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas