@ El método de BoltClock funcionará.
Alternativamente, si su cadena es una URL que puede utilizarse parse_url(), que devolverá los componentes de URL en una matriz asociativa, así:
print_r(parse_url("http://www.google.com.au/"));
Array
(
[scheme] => http
[host] => www.google.com.au
[path] =>/
)
El scheme
es lo que está buscando. Puede usar parse_url() junto con in_array
para determinar si existe http
dentro de la cadena URL.
$strUrl = "http://www.google.com?query_string=10#fragment";
$arrParsedUrl = parse_url($strUrl);
if (!empty($arrParsedUrl['scheme']))
{
// Contains http:// schema
if ($arrParsedUrl['scheme'] === "http")
{
}
// Contains https:// schema
else if ($arrParsedUrl['scheme'] === "https")
{
}
}
// Don't contains http:// or https://
else
{
}
Editar:
Se puede utilizar como $url["scheme"]=="http"
@mario sugirió en lugar de in_array()
, esto sería una mejor forma de hacerlo: D
Si ese es el quid real, también puede que quiera usar 'stripos', por lo que encuentra el HTTP mayúsculas: // también, con' if (stripos ($ URL, "http: //") === 0) ' – mario
Puede encontrar [' s ($ str) -> startsWithIgnoreCase ('http: //') '] (https: // github .com/delight-im/PHP-Str/blob/8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php # L81) útil, como se encuentra en [esta biblioteca independiente] (https://github.com/delight-im/PHP-Str). – caw