En respuesta a una consulta sobre cómo ubicar la segunda aparición de una cadena usando la función strpos , que normalmente se utiliza para encontrar la primera aparición, presentamos una solución alternativa.
El código proporcionado define una función personalizada, strposX, que permite la recuperación del Xésima aparición de una subcadena dentro de una cadena determinada. Esta función toma tres parámetros: $haystack (la cadena de origen), $needle (la subcadena que se ubicará) y $number, que representa la ocurrencia que se desea encontrar.
Para el escenario donde se encuentra la ocurrencia deseada. es el segundo (es decir, $número es 2), la función strposX se llama a sí misma de forma recursiva para identificar la posición de la primera aparición de la subcadena, agrega la longitud de la subcadena a esa posición y emplea strpos para localizar la segunda aparición dentro de la restante parte de la cadena.
Aquí hay una versión simplificada del código:
function strposX($haystack, $needle, $number = 0)
{
return strpos($haystack, $needle,
$number > 1 ?
strposX($haystack, $needle, $number - 1) strlen($needle) : 0
);
}
Utilizando esta función, se puede obtener fácilmente la segunda aparición de una subcadena dentro de una cadena, ofreciendo una solución versátil más allá de la identificación estándar de primera aparición proporcionada por strpos.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3