如何有效地获得整页标题

时间:2015-01-14 09:16:16

标签: javascript php title

使用javascript和php获取页面标题是否有任何万无一失的资源有效方式。
到目前为止,我已尝试过:
1)获取页面的整个代码,然后使用explode()
将标题与其分开 2)使用$_SERVER['SCRIPT_NAME']

所以,我只是想知道是否有更好的方法来做到这一点。

4 个答案:

答案 0 :(得分:3)

您可以使用JavaScript一样简单的页面标题document.title

<script type="text/javascript">
    var title = document.title;
</script>

如果您想使用jQuery获取网页标题,可以试试这个:

$(function(){
    var title = $('title').text();
})

<强>更新

如果您是&#34;所有者&#34;以上可以适用;的页面。如果您想获得给定title页面的url,可以使用有用的链接here来解决此问题。

答案 1 :(得分:1)

试试这个:

<script type="text/javascript">
 alert(document.title);
</script>

答案 2 :(得分:1)

@Christos提供helpful link获取标题using file_get_content()和网页的完整网址。

使用PHP Output Buffering Control还有另一种方法。在这种方法中,您将使用ob_start()启动PHP页面;然后获取HTML代码,然后刷新输出。在这种情况下,您将拥有PHP缓冲区中的所有HTML代码,并且可以使用与file_get_content()答案中建议的相同的正则表达式来处理它。

<?php
    $title = NULL; // will hold the page title

    ob_start(); // start output control    
?>
<!-- HTML PAGE CODE HERE -->
<html>
<head>
<title>Page title from tag</title>
</head>
<body>

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing 
elit. Aenean commodo ligula eget dolor. Aenean massa . </p>    

</body>
</html>

<?php

    // find the title in the buffer using ob_get_contents
    if (preg_match('{<title[^>]*>(.*?)<\/title[ ]*>}i', ob_get_contents(), $matches)) {
        $title = $matches[1];
    }

    // flush the buffer to screen
    ob_end_flush();

    // work with the title variable - check first if null
    echo '<hr/>'.$title;
?>

答案 3 :(得分:0)

<{1}} title对象属性是您需要的。

document

如果你使用jQuery引入另一个页面,你可以做,var title = document.title;