27 lignes
434 B
PHP
27 lignes
434 B
PHP
<?php
|
|
|
|
/**
|
|
* Validates an URL.
|
|
*
|
|
* @param string|null $url
|
|
* @param string|null $hostname
|
|
*
|
|
* @return bool
|
|
*/
|
|
function isValidUrl( ? string $url, ? string $hostname) : bool
|
|
{
|
|
if ($url === null) {
|
|
return false;
|
|
}
|
|
|
|
if (trim($url) === '') {
|
|
return false;
|
|
}
|
|
|
|
if (filter_var($url, FILTER_VALIDATE_URL) === false) {
|
|
return false;
|
|
}
|
|
|
|
return parse_url($url)['host'] !== $hostname;
|
|
}
|