使用javascript和php获取页面标题是否有任何万无一失的资源有效方式。
到目前为止,我已尝试过:
1)获取页面的整个代码,然后使用explode()
将标题与其分开
2)使用$_SERVER['SCRIPT_NAME']
所以,我只是想知道是否有更好的方法来做到这一点。
答案 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)
title
对象属性是您需要的。
document
如果你使用jQuery引入另一个页面,你可以做,var title = document.title;