
Validación de URL en Laravel con el método isUrl
- Publicado el 07 febrero, 2025
- Palabras: 43
¿Necesita validar URL en su aplicación Laravel? El método Str::isUrl proporciona una forma sencilla y flexible de comprobar si las cadenas son URL válidas.

#Uso básico
El método Str::isUrl determina si la cadena dada es una URL válida:
use IlluminateSupportStr;
// Basic URL validation
$isUrl = Str::isUrl('http://example.com'); // true
$isUrl = Str::isUrl('laravel'); // false
// With protocol restrictions
$isUrl = Str::isUrl('http://example.com', ['http', 'https']);
#Ejemplo práctico
A continuación se explica cómo podría usarlo en un sistema de gestión de enlaces:
class LinkValidator
{
public function validateSocialLinks(array $links)
{
return collect($links)->filter(function ($url, $platform) {
return match ($platform) {
'twitter' => Str::isUrl($url, ['https']),
'github' => Str::isUrl($url, ['https']),
'website' => Str::isUrl($url, ['http', 'https']),
default => Str::isUrl($url)
};
});
}
public function validateSecureUrls(array $urls)
{
return collect($urls)
->filter(fn($url) => Str::isUrl($url, ['https']))
->values();
}
public function sanitizeUserSubmittedLinks(array $links)
{
return array_filter($links, function ($link) {
// Only allow http/https URLs
if (!Str::isUrl($link, ['http', 'https'])) {
return false;
}
// Additional validation logic here
return true;
});
}
}
// Usage
$validator = new LinkValidator();
$socialLinks = [
'twitter' => 'https://twitter.com/user',
'website' => 'http://example.com',
'invalid' => 'not-a-url'
];
$validLinks = $validator->validateSocialLinks($socialLinks);
El método isUrl facilita la validación de URL manteniendo el control sobre los protocolos aceptados.
Fuente: Harris Raftopoulos
Artículos relacionados
Inicia la conversación
Hazte miembro de Antonio Jenaro para comenzar a comentar.
Regístrate ahora¿Ya estás registrado? Inicia sesión