String contain en PHP

¡Hola hola! Aquí estamos de nuevo con una nueva entrada, esta vez, acerca de string contain en PHP. Aunque, esta funcionalidad no es nativa de PHP, hasta la versión 8 de PHP, y eso que es uno de los checks más usados.

En este post vamos a ver cómo hacer la función str_contrain de PHP en versiones anteriores a la 8.

String contain en PHP

String contain en PHP

¿Cómo comprobar si un string está en tu texto?

¿Cómo comprobar si un string está en un texto usando PHP? Creando la función str_contain como wrapper a las funciones strpos nativas de PHP.

$text = 'How are you?';
$word = "are";
if (strpos($text, word) !== false) {
    echo 'true';
} else {
    echo 'false';
}

Para ello usamos la función nativa de PHP strpos. Vamos a por nuestra propia función para hacernos la cosa más fácil.

Crear función str_contain

Aunque, no es complicado el código anterior. Personalmente, tengo una librería de helpers con funcionalidad de PHP y str_contain es una de estas funciones. Mi wrapper de la función, es el siguiente.

public static function str_contain($needle, $haystack, $insensitive = false) {
    return $insensitive ? false !== stristr($haystack, $needle) : false !== strpos($haystack, $needle);
}

Donde:

  • $needle, que es el texto a buscar.
  • $haystack, que es el texto completo, donde vamos a buscar needle.
  • $insensitive, será true o false, dependiendo de si queremos buscar independientemente de mayúsculas y minúsculas.

Un ejemplo de uso, podría ser el siguiente:

function str_contain($needle, $haystack, $insensitive = false) {
    return $insensitive ? false !== stristr($haystack, $needle) : false !== strpos($haystack, $needle);
}

$txt = "venga vamos a hacer un txt de prueba";
$estoy = "Venga";

// Vemos que no debe de estar al buscar por la coincidencia exacta
$x = str_contain($estoy, $txt);
if ($x) {
    echo "$estoy está en $txt";
} else {
    echo "$estoy no está en $txt";
function str_contain($needle, $haystack, $insensitive = false) {
    return $insensitive ? false !== stristr($haystack, $needle) : false !== strpos($haystack, $needle);
}

$txt = "venga vamos a hacer un txt de prueba";
$estoy = "Venga";

// Vemos que no debe de estar al buscar por la coincidencia exacta
$x = str_contain($estoy, $txt);
if ($x) {
    echo "$estoy está en $txt\n";
} else {
    echo "$estoy no está en $txt\n";
}
// Output: Venga no está en venga vamos a hacer un txt de prueba

// En este caso devolverá true porque estamos buscando independientemente de mayúsculas y minúsculas
$x = str_contain($estoy, $txt, true);
if ($x) {
    echo "$estoy está en $txt\n";
} else {
    echo "$estoy no está en $txt\n";
}
// Output: Venga está en venga vamos a hacer un txt de prueba

Resumen

Hemos aprendido a hacer nuestra propia función str_contain en versiones PHP < 8 para comprobar si un string existe en el texto. Además de esto, también hemos aprendido sobre las funciones strpos y stripos nativas de PHP.

Comparte 🙂

Si te ha gustado el contenido de este artículo no te olvides de compartirlo ya que con eso me harías muy feliz. GRACIAS 😉

Participa 😉

Además de todo ello, si tienes dudas o puedes aportar algo con un comentario, no dudes en hacerlo. GRACIAS 😉

¿Y tú qué opinas?

Antes de participar en los comentarios, ten en cuenta que leeré personalmente cualquier cosa que escribas. Así que, por favor, mantén las formas y compórtate como una persona de bien.

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>