PHP – String – indexOf
Función que devuelve la posición de la primera ocurrencia en un texto. Es indiferente a mayúsculas, minúsculas y acentos pudiéndose delimitar donde empezar a buscar.
Devuelve -1 si no existe, siendo 0 la primera posición.
/**
* Class HelperString
*/
abstract class HelperString
{
/**
* Devuelve la posición de la primera ocurrencia en un texto.
* Es indiferente a mayúsculas, minúsculas y acentos
* Se puede delimitar donde empezar a buscar.
* Devuelve -1 si no existe, siendo 0 la primera posición
*
* @param $txt
* @param $ocurencia
* @param int $pos_inicio_buscar
*
* @return int
*/
public static function indexOf($txt, $ocurencia, $pos_inicio = 0)
{
$txt = HelperString::eliminarAcentos($txt);
$ocurencia = HelperString::eliminarAcentos($ocurencia);
$pos = stripos($txt, $ocurencia, $pos_inicio);
if ($pos === false) {
return -1;
}
return $pos;
}
}
Funciones relacionadas
- HelperString::eliminarAcentos : Eliminar todos los acentos de un texto
Ejemplos
$txt = 'abc0123456789_01234567890'; $pos = HelperString::indexOf($txt, '1'); print_r($pos); // 4 $pos = HelperString::indexOf($txt, '1', 5); print_r($pos); // 15 $pos = HelperString::indexOf($txt, '1', 45); print_r($pos); // -1 $pos = HelperString::indexOf($txt, '123'); print_r($pos); // 4 $pos = HelperString::indexOf($txt, '321'); print_r($pos); // -1 $txt = '123_abc_456_def'; $pos = HelperString::indexOf($txt, 'BC'); print_r($pos); // 5 $txt = '123_ábc_456_def'; $pos = HelperString::indexOf($txt, 'áb'); print_r($pos); // 4 $txt = '123_ábc_456_def'; $pos = HelperString::indexOf($txt, 'ab'); print_r($pos); // 4
