Simplifica las comprobaciones de strings en Laravel con doesntContain
- Publicado el 28 noviembre, 2024
- Palabras: 86
¿Necesitas comprobar si un string no contiene determinadas palabras? ¡El nuevo método doesntContain de Laravel del helper Str hace que esta tarea sea muy sencilla! Exploremos cómo funciona esta función simple pero útil.

#Usando doesntContain
El método doestContain es el opuesto de contains, y devuelve true cuando una cadena no incluye contenido específico:
use IlluminateSupportStr;
$str = 'Mi comida favorita es la Pizza';
// Single value check
$result = Str::doesntContain($str, 'Carne'); // true
$result = Str::doesntContain($str, 'Pizza'); // false
#Comprobar múltiples valores
También puedes comprobar varios valores a la vez:
$result = Str::doesntContain($str, ['Carne', 'Pasta']); // true
$result = Str::doesntContain($str, ['Carne', 'Pasta', 'Pizza']); // false
#Ejemplo práctico
A continuación se explica cómo podría usarlo en un sistema de filtrado de contenido:
class ContentFilter
{
protected array $bannedWords = ['spam', 'scam', 'free money'];
public function isClean(string $content): bool
{
return Str::doesntContain(
strtolower($content),
$this->bannedWords
);
}
public function filterComment(Comment $comment)
{
if ($this->isClean($comment->content)) {
$comment->approve();
} else {
$comment->markForReview();
}
}
}
El método doestContain proporciona una forma clara e intuitiva de comprobar la ausencia de cadenas en el contenido. Ya sea que esté filtrando contenido, validando entradas o procesando texto, este método hace que su código sea más legible y fácil de mantener.
Fuente: Harris Raftopoulos
Inicia la conversación
Hazte miembro de Antonio Jenaro para comenzar a comentar.
Regístrate ahora¿Ya estás registrado? Inicia sesión