3 formas de verificar si una cadena de PHP contiene otra

Publicado: 2022-02-13

Probablemente la parte más frustrante de escribir código PHP es averiguar si una cadena PHP contiene otra cadena. Pero no se preocupe: en este tutorial, le mostraremos lo fácil que es identificar una subcadena usando varios métodos. Además de mostrarlos, también vamos a discutir sus pros y, por supuesto, sus contras. Tenga en cuenta que hay más de un método para 'raigar' las subcadenas.




Tabla de contenido

Un par de consideraciones si la cadena PHP contiene otra

El primer gran error al probar una subcadena es usar el operador de comparación incorrecto. Por ejemplo, si usa != para verificar una subcadena, podría terminar con lo que se llama un falso positivo. En este caso, es mejor usar !==, que compara el tipo.

Si tiene problemas para averiguar qué operador usar en un contexto determinado, puede consultar este tutorial de PHP para obtener información detallada sobre los operadores y sus funciones. También encontrará ejemplos de código explicados para el programador novato.

Como hemos dicho, existen diferentes métodos para averiguar si una cadena contiene una palabra u otra cadena. Hasta la fecha, existen cinco métodos, pero solo los tres primeros son rápidos.

  1. stripos () para distinguir entre mayúsculas y minúsculas para verificar si una cadena contiene otra cadena.
  2. Regex para cadena en cadena
  3. strstr () para una cadena en otra cadena.

1. Comprobación de una subcadena utilizando la referencia de cadena que distingue entre mayúsculas y minúsculas stripos()

La forma más rápida y sencilla de verificar si una cadena contiene otra es empleando la función stripos() que básicamente busca si una cadena contiene una palabra en particular. Lo que sucede es que la función devolverá VERDADERO si la cadena contiene una subcadena/palabra o FALSO si la cadena no contiene ninguno de ellos.




Para ayudarlo a visualizar cómo funciona stripos(), aquí hay un ejemplo.

$first_string = "Soy 10 años mayor que tú".

$buscado_palabra= “años”

$personaje = “yo”




$targeted_substring = "10 años"

If (strpos ($first_String, $sought_word) !== false {

echo 'Esta palabra “ '.$palabra_buscada.'” está en la cadena.';

}

(esto le dirá que los "años" del mundo se pueden encontrar en esta cadena en particular)




if (stripos ($primera_cadena, $carácter) !== falso) {

echo 'Este carácter “ '.$carácter.' “puede encontrarse en esta cadena en particular.';

}

(estas líneas le dirán que "I" se puede encontrar en la cadena dada)

if (strpos ($primera_cadena, $subcadena objetivo) !== false {




echo 'La subcadena objetivo “ '.targeted_substring.'”se puede encontrar en esta cadena.”

(estas líneas le dirán que la subcadena "5 años" se puede encontrar en la cadena).

if (strpos($primera_cadena, $carácter) != false) {

echo 'Este carácter “ '.$carácter.' "aparece en esta cadena".

} demás {

echo 'Este carácter “ '.$carácter.' “ no aparece en esta cadena.

(Estas líneas le dirán que el carácter "I" no se puede encontrar en esa cadena en particular).

  • Relacionado: Los 5 mejores cursos gratuitos de desarrollo web en línea
  • Los 5 mejores lugares para aprender diseño web

2. Regex para una subcadena en una cadena

Las expresiones regulares, también conocidas como Regex, son más adecuadas para buscar patrones complejos dentro de una subcadena determinada.

Aquí hay un ejemplo de cómo buscar subcadenas, usando las funciones definidas en el ejemplo anterior.

$first_string = "Soy 10 años mayor que tú".

$buscado_palabra= “años”

$personaje = “yo”

$targeted_substring = "10 años"

Si (preg_match('/años/', $primera_cadena)) {

echo 'La palabra “ '.$palabra_buscada.' “se puede encontrar en esta cadena.';

}

(le dice al usuario que la palabra "años" se puede encontrar en esa cadena)

if (preg_match('/I/', $primera_cadena)) {

echo 'El carácter “'.$carácter.; “aparece en esta cadena”. ;

}

(le dice que "I" aparece en su cadena).

Si (preg_match('/10 años/', $primera_cadena)) {

echo 'Esta subcadena: '.$targeted_substring.' "aparece en la cadena proporcionada".

}

(le dice que la subcadena, definida como "10 años" aparece en su cadena declarada).

3. Funciones strstr() para encontrar subcadenas en cadenas

La función strstr() es bastante versátil, lo que significa que puede usarse para buscar subcadenas, caracteres y palabras dentro de una cadena específica. Básicamente, lo que hace es devolver solo la parte que contiene la primera cadena, desde la primera aparición de la subcadena/palabra hasta el final. Aquí hay un ejemplo para ayudarlo a descubrir cómo la función

obras.

$first_string = "Soy 10 años mayor que tú".

$buscado_palabra= “años”

$personaje = “yo”

$targeted_substring = "10 años"

If (strstr($primera_cadena, $palabra_buscada) !==false) {

echo 'La palabra “ '.$buscada_palabra.'”aparece en la cadena.;

}

(le dice que aparece "años" en la cadena)

if (strstr($primera_cadena, $carácter) !==falso) {

echo 'El carácter” '$carácter.'” aparece en la cadena dada.';

}

(dígale al usuario que el carácter "I" aparece en la cadena)

if (strstr($first_string, $targeted_substring) !==false) {

echo 'La subcadena “'.$targeted_substring.; “ aparece en la cadena.';

}

Conclusión

Ahí lo tienen, amigos: tres formas simples de averiguar si la cadena que está probando tiene una subcadena o no. Nuevamente, tenga cuidado con los operadores y asegúrese de probar su cadena usando más de un método para evitar resultados falsos positivos.

Si desea aprender PHP o cualquier idioma, le sugiero que tome el curso en línea de cualquiera de las principales plataformas de aprendizaje en línea como Udemy, que le brinda cualquier tipo de curso por un precio muy inferior. Puedes leer los detalles completos sobre Udemy. También puede consultar nuestra página de cupones de descuento de Udemy para conocer las últimas ofertas.

Si le gusta este tutorial sobre los métodos para verificar que la cadena de PHP contiene otra cadena, compártalo. Si desea obtener más consejos, siga whatvwant en Facebook, Twitter y YouTube.