如何在PHP中获取网页的URL和标题?

时间:2013-11-15 13:26:50

标签: php html social

我目前正在使用社交媒体分享按钮,我想知道是否有任何方法可以使用PHP自动呈现页面标题和URL,而不是每次都手动编写(基本思路是我会使用相同的代码在不同的页面中。)

示例:

http://twitter.com/home?status= **[TITLE]** + **[URL]**

**PAGE ONE:**
Page Title: Testpage - TestFTW1
Page URL: example.com/test1

我希望“TestFTW1”出现在[URL]中的[TITLE]和“example.com/test1”中。

**PAGE TWO:**
Page Title: Testpage - TestFTW2
Page URL: example.com/test2

我希望"TestFTW2"出现在[URL]的[TITLE]和“example.com/test2”中。

1 个答案:

答案 0 :(得分:0)

您可以像这样获取当前页面的URL

$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

它使用$_SERVER,这是一个主要包含页面标题的数组。 HTTP_HOST将返回主机,如“example.com” REQUEST_URI将返回当前URI,例如“/index.php”。

和这样的标题

$str = file_get_contents($url);
if (strlen($str) > 0) {
    preg_match("/\<title\>(.*)\<\/title\>/",$str,$title);
    $pageName = $title[1];
}

函数file_get_contents()将以字符串形式返回指定网页的所有内容。函数preg_match()将使用正则表达式搜索标题。

或者像这样
$pageName = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);