Seguindo a série de artigos sobre manipulação de strings, nesse artigo demonstrarei funções muito boas para encontrar outra string, textos ou caracteres em uma string. Para isso demonstrarei as seguintes funções:
- strpos
- stripos
- strrchr
- strcspn
- strripos
- strrpos
- strspn
- strstr
strpos
Retorna a posição numérica da primeira ocorrência de um determinado texto ou caracter, essa função é semelhante a strrpos porém ela pode ter uma string completa para a pesquisa e toda a string será usada. Lembrando que o primeiro caracter é 0 (zero), e caso não seja achado nada, retornará falso.
$string = 'String original na qual será procurado outra string';
echo strpos($string, 'original na qual'); // A posição da string é 7
stripos
Faz a mesma coisa que a função strpos, a difereça está em que essa função não é case-sensitive.
$string = 'String original na qual será procurado outra string';
echo stripos($string, 'Original Na Qual'); // A posição da string é 7
strrchr
Retorna a última parte de uma string que será pesquisa por um caracter. Caso o caracater pesquisado não seja encontrado retornará falso. Será pesquisado somente o primeiro caracter passado, por exemplo se temos a string "/path/to/search" e queremos pegar a última parte, podemos procurar usando a "/", e retornará um string contendo o seguinte "/search", como no exemplo a seguir.
$string = "/path/to/search";
echo strrchr($string, '/'); // Retornará /search
strcspn
Retorna o número de caracteres que estão antes da string ou maskara a ser procurado. O terceiro e quarto parâmetro servem para informar em qual posição inicial e final deve ser procurado a ocorrência da string.
$string = 'Hello world!';
echo strcspn($string, 'w'); // Retornará 6
echo strcspn($string, 'w', 2, 6); // Retornará 4
strripos
Retorna a última posição numérica de uma string a ser procurada. Porém ao contrário da funçãostrripos essa função é case-sensitive, ou seja há diferença entre maiúsculos e minúsculos.
$string = 'Hello World!';
echo strripos($string, 'w'); // Retornará 6
strrpos
Retorna a última posição numérica de uma string a ser procurada. Porém ao contrário da funçãostrripos essa função é case-sensitive, ou seja há diferença entre maiúsculos e minúsculos.
$string = 'Hello World!';
echo strrpos($string, 'w'); // Retornará falso pois w é diferente de W
strspn
Retorna o número de caracteres encontrados na cadeia de caracteres que contém apenas caracteres do parâmetro charlist.
$string = 'Hello world!';
echo strspn($string, 'kHlleo'); // Retornará 5
strstr
Procura a primeira ocorrência de uma string e retorna o restando depois, contendo a string a ser procurada.
$string = 'Hello world!';
echo strstr($string, 'llo'); // Retornará llo world!
Referência:
php.net/manual/pt_BR/ref.strings.phpw3schools.com/php/default.asp