如何使用 PHP 检查数据库中的字符串是否是 URL


How to check string from database if it's a URL using PHP?

我有问题。我的数据库中有字段,用户可以在其中放置Facebook网址。我需要做的是检查数据是否是 url,解析它,然后在 url 中的/后面返回用户名。

举个例子:

如果数据库只显示用户名 https://www.facebook.com/username如果说 www.facebook.com/username 一样如果只说用户名,只显示用户名

我试过这样:

$url = $facebook;

if (strpos($url,'https://') == true){
$facebook = str_replace('https://', '', $url ); 
$facebook = substr(strrchr($url, '/'), 1);
}
else
{
$facebook = $facebook;
}

您需要使用正则表达式:

$username = preg_replace("/.*'//", "", $url);

句点匹配任何字符,星星对它前面的角色进行"贪婪匹配",这意味着只要它继续满足模式,它就会一直匹配。反斜杠转义正斜杠,并允许将其用作匹配字符。在简单的英语中,该模式将所有内容与行上的最后一个正斜杠匹配并停止,然后将其替换为"。