【发布时间】:2016-06-27 15:09:16
【问题描述】:
你好来自stackoverflow的超级棒的人!
我需要这个 php 脚本的帮助。当用户在输入框中输入他的 facebook 个人资料链接时,我想从用户那里获取 facebook id。个人资料链接示例:https://www.facebook.com/profilename。我有一个脚本,它从 url 收集“profilename”并将其保存到 $username 但现在我需要脚本将该配置文件名转换为该配置文件的 facebook ID 并将其保存到 $username。现在我知道,当您右键单击用户个人资料图片而不是单击复制链接地址和 .(点)之后的最后一个数字是用户个人资料 ID 时,您可以轻松手动获取 facebook id ..或者另一种方法是扫描页面以查找 @ 987654325@ 或 <meta property="al:android:url" 这也将获得用户 ID。这是具有该工作脚本的站点。 http://findmyfbid.com/
这是我现在的代码:如您所见,它只占用了 url 的最后一部分。请帮助正确地将配置文件名转换为 ID 并将其保存到 $username 。谢谢。
/* CHECKING */
if (isset($_POST["urlCheck"])) {
$url = $_POST["urlCheck"];
$urlParts = explode("facebook.com/", $url);
$username = GetOnlyUsername($urlParts[1]);
if (filter_var($url, FILTER_VALIDATE_URL) !== false)
exit("success");
else
exit("error");
}
/* TAKING INFO */
if (isset($_POST["urlGetData"])) {
$url = $_POST["urlGetData"];
$urlParts = explode("facebook.com/", $url);
$username = GetOnlyUsername($urlParts[1]);
$name= GetData($username);
function GetOnlyUsername($username) {
if ((strpos($username, 'profile.php?id=')) !== false) {
$username = str_replace("profile.php?id=", "", $username);
if ((strpos($username, '&fref=ts')) !== false) {
$username = str_replace("&fref=ts", "", $username);
}
} else if ((strpos($username, '?')) !== false) {
$test = explode("?", $username);
$username = $test[0];
}
return $username;
}
【问题讨论】:
-
如果输入
https://www.facebook.com/profilename,您想要 1) 从 URL 中提取profilename还是 2) 提取profilename并将其转换为数字 Facebook ID? -
正确!当用户输入facebook.com/profilename 时,我只想将“个人资料名称”转换为 Facebook ID 并保存到该函数 GetOnlyUsername($username),因为当输入为facebook.com/ID 时,脚本的其余部分工作正常。所以答案是 1) 从 URL 中提取个人资料名称并将其转换为数字 Facebook ID。
-
为了更好的代码可读性,您可以为用户 ID 和用户名使用不同的命名。我建议您分别使用变量名
$userid和$username。此外,您还想将您的函数从GetOnlyUsername($username)命名为例如GetUsernameFromFacebookURL($url)。我还建议使用注释优先的方法进行编码,因为现在很难弄清楚你试图用该代码完成的逻辑。 -
您现在看到的代码仅从 url 中提取“profilename”。假设 url 的输入看起来像这样 _italic_https://www.facebook.com/profilename?fref=ts 函数 GetOnlyUsername($username) 仅提取该配置文件名并从 url 中删除其余部分......现在我需要什么时候该功能已完成,仅继续将该“配置文件名称”转换为 ID。我希望现在有意义。
标签: php facebook facebook-graph-api