如何在php中获取页面标题?

如何在php中获取页面标题?,php,Php,我有这个功能来获取网站的标题: function getTitle($Url){ $str = file_get_contents($Url); if(strlen($str)>0){ preg_match("/\<title\>(.*)\<\/title\>/",$str,$title); return $title[1]; } } 函数getTitle($Url){ $str=文件获取内容($Url); 如果(strlen($str)>0){

我有这个功能来获取网站的标题:

function getTitle($Url){
$str = file_get_contents($Url);
if(strlen($str)>0){
    preg_match("/\<title\>(.*)\<\/title\>/",$str,$title);
    return $title[1];
}
}
函数getTitle($Url){ $str=文件获取内容($Url); 如果(strlen($str)>0){ 预匹配(“/\(.*)\/”,$str,$title); 返回$title[1]; } }
然而,这个功能使我的页面花了太多的时间来响应。有人告诉我只通过请求标题获取网站标题,这不会读取整个文件,但我不知道如何读取。有人能告诉我应该使用哪种代码和函数来实现这一点吗?非常感谢。

使用正则表达式不是HTML的好主意,请改用DOM解析器

$html = new simple_html_dom();
$html->load_file('****'); //put url or filename  
$title = $html->find('title');
echo $title->plaintext;

//从URL或文件创建DOM
$html=file_get_html('*****');
//查找所有图像
foreach($html->find('title')作为$element)
echo$element->src'
';

读得好


  • 改用jQuery获取页面的标题

    $(document).ready(function() {
        alert($("title").text());
    });​
    

    演示:

    试试这个肯定会奏效

    include_once 'simple_html_dom.php';
    
    $oHtml = str_get_html($url);
    $Title = array_shift($oHtml->find('title'))->innertext;
    $Description = array_shift($oHtml->find("meta[name='description']"))->content;
    $keywords = array_shift($oHtml->find("meta[name='keywords']"))->content;
    echo $title;
    echo $Description;
    echo $keywords;
    

    使用
    curl
    从URL获取内容并提取标题,而不是
    file\u获取内容。谢谢,但您能给我演示执行此操作的代码吗?我是php新手。如果你想使用这种方法,最好只解析文件的前10到20行。通常,标题位于前5行内。如果不是的话,那纯粹是垃圾代码。听起来不错,我该如何解析文件的前10行?非常感谢。它说:“调用未定义的函数文件\u get\u html()”或“找不到类‘simple\u html\u dom’”。我是否应该简单地将这些代码复制到我的php文件中,并替换掉那些****?还有什么我应该做的吗?@user1904449下载并包括嗨,我知道已经很晚了,但是这个帖子帮助我谢谢你,德克斯特。但我想通过输入任何网站的url而不是我的页面来获取网站的标题。
    
    include_once 'simple_html_dom.php';
    
    $oHtml = str_get_html($url);
    $Title = array_shift($oHtml->find('title'))->innertext;
    $Description = array_shift($oHtml->find("meta[name='description']"))->content;
    $keywords = array_shift($oHtml->find("meta[name='keywords']"))->content;
    echo $title;
    echo $Description;
    echo $keywords;