Как получить title страницы php
Перейти к содержимому

Как получить title страницы php

  • автор:

как получить правильно title страницы?

Пишу проект, используя mvc структуру модель-контроллер-представление. Саму структуру написал с 0. Также добавил геолокацию и отсюда столкнулся с проблемой. Пишу сео модуль, все данные попадают в бд и в зависимости от страницы выводятся. Никак не могу понять, как сделать такое: Я добавляю в бд title:’купить в по низкой цене’. И в зависимости от категории и региона мне должен выводиться заголовок. Например: «купить велосипед в Москве по низкой цене.» Сейчас естественно у меня выводится точно такой же заголовок как и в бд. Как правильно реализовать такую идею. Как это обрабатывать и получать? Если я не ошибаюсь можно написать шаблонизатор. Но все страницы у меня с расширением .php и если получать страницу через file_get_contents(header.php), затем делать замену на переменную и выводить header.php, то не будет работать php код в этом файле. Если я не ошибаюсь. Подскажите пожалуйста, как более грамотно это реализовать. Спасибо.

Отслеживать

задан 15 апр 2020 в 18:22

89 7 7 бронзовых знаков

Более грамотно будет скачать готовый шаблонизатор. Но если вы принципиально хотите написать свой, то вот функции которые вам помогут: ob_. для перехвата вывода, extract для распаковки массива, include для подключения шаблона. Если хотите прям пошаговое руководство, то найдите у Дмитрия Елисеева соответствующее видео

15 апр 2020 в 19:54

Спасибо, посмотрю для общего развития.

wp_get_document_title() – вывод тайтла страницы

Когда-то давно, для того, чтобы вывести заголовок страницы (тут я имею ввиду то, что у нас находится между тегами , мы производили различные махинации с функцией wp_title() , больше этого делать не нужно, так как wp_get_document_title() более правильная, универсальная и автоматизированная в этом отношении.

Существует два возможных способа использования этой функции.

Первый – вставляем между тегами это:

echo</span> wp_get_document_title<span style="">(</span><span style="">)</span> ?>

Второй – используем функцию add_theme_support() в вашем файле functions.php и больше ничего делать не нужно – функция wp_get_document_title() сработает автоматически через функцию/хук wp_head(). В этому случае тегов , прописаных в файлах темы быть не должно!

add_theme_support( 'title-tag' );

Как формируются заголовки:

  • is_front_page(),
    главная страница,
  • is_404(),
    страница ошибки 404,
    Страница не найдена –
  • is_search(), страница результатов поиска,
    Результаты поиска «» –
  • is_post_type_archive(),
    архивы типа записей,
  • is_tax(), is_category(), is_tag(),
    архивы любых таксономий,
  • is_home() ИЛИ is_singular(),
    страница блога не на главной, либо страница записи/страницы
  • is_author()
    страница архива автора
  • is_year()
    страница архива по годам
  • is_month()
    страница архива по месяцам
  • is_day()
    страница архива по дням

Также при нахождении на страницах постраничной навигации is_paged() будет добавляться – Страница .

Изменение разделителя заголовка «–» через хук

Функция имеет внутри себя несколько хуков, самой простой позволяет изменить знак разделения, использующийся в заголовке, например если вы вдруг захотите использовать запятую или «|», то можете поменять это следующим кодов в ваш functions.php :

add_filter( 'document_title_separator', function()  return ');

Удаление / Изменение некоторых частей заголовков

Окей, вы наверное заметили, что (ну заметили же?) добавляется в каждой из ситуаций, а что если вы не хотите, чтобы оно добавлялось? Тут нас спасает хук document_title_parts .

add_filter( 'document_title_parts', function( $title ) { // $title['title'] – первая часть заголовка // $title['page'] – существует при нахождении на 2 и далее странице постраничной навигации // $title['tagline'] – описание сайта во второй части заголовка после разделителя // $title['site'] – название сайта во второй части заголовка if( ! empty( $title['site'] ) ) { unset( $title['site'] ); } return $title; } );

Хочется отметить, что хук довольно умный, если мы удаляем вторую часть, то и разделитель тоже исчезнет! Ну и конечно же вы можете не только удалять какие-то определённые части заголовков, но и изменять их:

add_filter( 'document_title_parts', function( $title ) { if( ! empty( $title['site'] ) ) { $title['site'] = 'Версия для печати'; } return $title; } );

Создание собственных правил формирования произвольных заголовков

А это уже место для творчества различных SEO-плагинов, а именно – хук pre_get_document_title . Он работает таким образом, что если возвращает что-либо, а не пустой результат, то функция дальше не выполняется и лишь возвращает результат из хука. Как-то так.

В качестве примера давайте попробуем использовать этот хук для того, чтобы получать заголовок поста из произвольных полей, если они заданы, если же нет, то выводим значение по умолчанию.

add_filter( 'pre_get_document_title', function(){ if( is_singular() && ( $title = get_post_meta( get_the_ID(), 'seo_title', true ) ) ) { return $title; } return ''; } );
  • Используйте is_singular(), если хотите, чтобы код срабатывал для записей, страниц и любых произвольных типов постов, is_single() – если вам это нужно только для записей, is_page() – только для страниц
  • Можете также почитать и про функцию get_post_meta().

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

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

Author24 — интернет-сервис помощи студентам

Добавлено через 2 минуты
может, есть способ не через php? тоже подойдёт. желательно не через js, а до вывода страницы в браузер.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как получить URL запрошенной страницы?
Ситуация такая: При обращении к некоторым страницам, закрытым для доступа средствами ISA Server.

Как программно в ASR получить URL со страницы?
Imeetsya: http://www.blabla.com/blabla/ Pod nim sidit web site Kak programno v ASR polychit’.

Как получить URL страницы без Webbrowser
Суть такова, что я перехожу по определённому URL. После загрузки страницы URL чуть меняется. Как.

Как получить url текущей страницы без get-параметров?
Здравствуйте! В скрипте нужно получить адрес страницы, на которой я нахожусь. Если в адресной.

Регистрация: 08.04.2015
Сообщений: 288
4234, а что мешает использовать curl?
Вот вам наглядный пример:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
$page = page_title('https://www.youtube.com/watch?v=s8F9mMpKTOY/'); preg_match_all( "|(.*)|sUSi", $page['content'], $titles); echo $titles[1][0]; function page_title( $url ) { $res = array(); $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 10 ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); $content = curl_exec( $ch ); curl_close( $ch ); $res['content'] = $content; return $res; }

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Как в Guzzle получить url страницы на которую был запрос
Привет всем! Есть очень много страниц, с которых нужно получить html. Я сделал это с помощью.

Как получить url страницы, с которой пользователь был перенаправлен
Доброго времени суток Переменная $_SERVER возвращает пустое значение, когда пользователь был.

Как с библиотекой xNet или без нее получить URL адрес страницы?
Сделал авторизацию вконтакте, хочу искусственно получить токен через приложение, суть в том, что.

Получить URL страницы
на странице выполняется php скрипт. Адрес страницы типа: site.com/razdel/index.html скрипт лежит.

Или воспользуйтесь поиском по форуму:

PHP: Как вывести title текущей страницы в виде текста\ссылки на той же странице

Привет всем, помогите разобраться. Нужно вывести title текущей страницы в виде текста\ссылки на той же странице с помощью php. Искал в инете и нашел 2 скрипта (по сути один и тот же), которые работают так как надо, но с ошибками. Подскажите, пожалуйста, что нужно подправить. Буду благодарен.

$page_content = file_get_contents (__FILE__); 
preg_match_all("#.*(.+).*#isU", $page_content, $titles);
print_r ($titles);
?>

Купить дешево домен с Яндекс ИКС от 20 до 200! (/ru/forum/1010403).

  • Редирект с wp-admin/profile.php
  • Как поставить ссылки в данной ситуации
  • Как менять url без перезагрузки страницы?

На сайте с 23.11.2009
19 сентября 2017, 13:53

Как бы «так как надо» и «с ошибками» — это вещи разные.

Первый скрипту вас в принципе отрабатывает? т.е. выводит найденный тайтл?

потому что получение содержимого страницы через __FILE__ в общем случае не всегда будет работать.

У вас самопис какой-то или, может быть, движок?

Вам эта ссылка обязательно нужна индексируемая, что вы на php это хотите сделать? потому что на том же js оно попроще будет — там меньше тонкостей, если у вас не spa только.

На сайте с 04.07.2017
19 сентября 2017, 14:02
kov:
Нужно вывести title текущей страницы в виде текста\ссылки на той же странице с помощью php.

откуда в title берется текст? из бд?

На сайте с 31.05.2015
19 сентября 2017, 16:58

Действительно, расскажите откуда берется сам . Определите этот в любую переменную и делайте с ней что хотите.

На сайте с 22.08.2012
19 сентября 2017, 19:01

kov:
Привет всем, помогите разобраться.

Нужно вывести title текущей страницы в виде текста\ссылки на той же странице с помощью php.

Искал в инете и нашел 2 скрипта (по сути один и тот же), которые работают так как надо, но с ошибками. Подскажите, пожалуйста, что нужно подправить. Буду благодарен.

$page_content = file_get_contents (__FILE__); 
preg_match_all("#.*(.+).*#isU", $page_content, $titles);
print_r ($titles);
?>

Объясните для начала, зачем это нужно. Я не могу представить себе задачу, в которой тег title заполняется независимо от PHP.

Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1

На сайте с 26.05.2013
20 сентября 2017, 12:35

proksey-net:
Объясните для начала, зачем это нужно. Я не могу представить себе задачу, в которой тег title заполняется независимо от PHP.

Например, у меня на 100% сайтов и страниц. Так как они статические и подключен только хедер и футер:

, Интересные статьи, Дикий, dikij, дик, D.iK.iJ, автор, домашняя страница, книги, фото, картинки, романы, рассказы, блог, блоггер, Алена, чат, гостевая, PHP, скрипты бесплатно, Ребуквер, кодер, Каменск Уральский, погода, Java, script, J.S., Львы»>
«>

require(getenv(«DOCUMENT_ROOT»).»/header.php»);
?>

Все что в < >— подставляется вручную или через редактор — автоматом. 🙂

И да, чтобы потом получить список всех страниц, нужен или какой-то сервис или скрипт.

Да! Так как мне лень делать регекспы, скрипт написал бы такой:

$file=»»;
$content=file_get_contents(«http://dikij.com/».$file);
$content=eregi_replace(«.*«, «», $content); // Обрезать до текста <br />$content=eregi_replace(«.*», «», $content); // Обрезат после текста
echo $content;
?>

Ну и дальше там запись в файл, кодировка и все такое прочее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *