Em resposta a uma consulta sobre como localizar a segunda ocorrência de uma string usando a função strpos , que normalmente é usado para encontrar a primeira ocorrência, apresentamos uma solução alternativa.
O código fornecido define uma função customizada, strposX, que permite a recuperação da Xª ocorrência de uma substring dentro de uma determinada string. Esta função leva três parâmetros: $haystack (a string de origem), $needle (a substring a ser localizada) e $number, que representa a ocorrência desejada a ser encontrada.
Para o cenário onde a ocorrência desejada é o segundo (ou seja, $number é 2), a função strposX chama a si mesma recursivamente para identificar a posição da primeira ocorrência da substring, adiciona o comprimento da substring a essa posição e emprega strpos para localizar o segunda ocorrência na parte restante da string.
Aqui está uma versão simplificada do código:
function strposX($haystack, $needle, $number = 0)
{
return strpos($haystack, $needle,
$number > 1 ?
strposX($haystack, $needle, $number - 1) strlen($needle) : 0
);
}
Utilizando esta função, pode-se obter facilmente a segunda ocorrência de uma substring dentro de uma string, oferecendo uma solução versátil além da identificação padrão da primeira ocorrência fornecida por strpos.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3