Как эффективно получить полный заголовок страницы

Есть ли надежный + эффективный способ получить заголовок страницы, используя javascript и php.
Пока что я пробовал:
1) Получить весь код страницы и затем отделить от нее заголовок, используя explode()
2) Использование $_SERVER['SCRIPT_NAME']

Итак, я просто хотел узнать, есть ли лучший способ сделать это.

2

Решение

Вы могли бы заголовок страницы, используя JavaScript так просто как document.title,

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

Если вы хотите получить заголовок страницы, используя jQueryВы можете попробовать это:

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

Обновить

Выше может быть применено, если вы являетесь «владельцем» страницы. Если вы хотите получить title страницы, учитывая, что это urlесть полезная ссылка Вот, которая решает эту проблему.

3

Другие решения

Просто попробуйте это:

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

@Christos предоставил полезная ссылка для получения титула using file_get_content() и полный URL страницы.

Есть другой подход к этому, используя PHP Управление буфером вывода. При таком подходе вы начнете страницу PHP с ob_start (); затем получите свой HTML-код и затем очистите вывод. в этом сценарии у вас будет весь HTML-код в буфере PHP, и вы сможете работать с ним так, как вам нравится, используя то же регулярное выражение, которое предлагается в 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;
?>
1

title собственностью document Объект — это то, что вам нужно.

var title = document.title;

Если вы используете jQuery для перехода на другую страницу, вы можете сделать на ней, $(data).find('title').text()

0
По вопросам рекламы [email protected]