. Определите этот в любую переменную и делайте с ней что хотите.

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

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

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

Как бы «так как надо» и «с ошибками» — это вещи разные. Первый скрипту вас в принципе отрабатывает? т.е. выводит найденный тайтл? потому что получение содержимого страницы через __FILE__ в общем случае не всегда будет работать. У вас самопис какой-то или, может быть, движок? Вам эта ссылка обязательно нужна индексируемая, что вы на php это хотите сделать? потому что на том же js оно попроще будет — там меньше тонкостей, если у вас не spa только.

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

Действительно, расскажите откуда берется сам

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

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

, Интересные статьи, Дикий, 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); // Обрезат после текста
echo $content;
?>

Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).

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

Тайтл берется из тегов , сайт — простой html, тайтл статистический.

Дикий пионер:
Как бы «так как надо» и «с ошибками» — это вещи разные.
Первый скрипту вас в принципе отрабатывает? т.е. выводит найденный тайтл?

Array ( [0] => Array ( [0] => ) [1] => Array ( [0] => Тайтл моего сайта) )

Во втором случае тайтл на старице выводится, но так же, почему-то, скрипт еще и копирует саму страницу (в том месте где он вставлен) начиная с тега , и получается что-то такое (код):

Текст странички моего сайта

Тайтл моего сайта

Текст странички моего сайта

Источник

Изменение title сайта на PHP

В общем я новичок в PHP и ещё пока только учусь и многое могу не знать. Так вот. Я написал простенький блог с админкой своему брату на PHP.
Вроде всё работает отлично, но есть одна большая проблема: на любой странице блога title всегда одинаковый. Это очень не хорошо для поисковиков и вообще в целом не удобно.

Пробовал решить эту проблему следующими способами:

У меня есть файл index.php
Его код выглядит следующим образом:

 require_once 'inc/header.php' ?> 
include $view. '.php' ?> require_once 'inc/sidebar.php' ?>
require_once 'inc/footer.php' ?>

На любой странице блога есть шапка, сайдбар и футер. Всегда меняется только контент и поэтому я там подключил переменную $view.
Короче сначала я подключаю шапку(верхнюю часть сайта в которой находится title, подключение стилей, скриптов, потом там находится сама шапка и меню). Потом в div теге подключаю переменную $view в которой в зависимости от того, куда перешёл пользователь меняется контент. Дальше я подключаю сайдбар. И в конце подключаю футер.

В файле header.php, как я сказал выше в теге head прописан title сайта, который на каждой странице одинаковый, как и вся верхняя часть сайта.

А мне нужно что-бы к примеру, когда пользователь переходит на статью с названием «Hallo world!» у него в названии(title) сайта выводилось название этой статьи.
Или когда пользователь переходит в рубрику, что-бы у него в title сайта выводилось название рубрики и так далее. Короче нужно что бы title менялся в зависимости от места нахождения.

Я пробовал решить эту проблему с помощью переменной $title:
То есть я в начале файла index.php прописал следующий код:

Такой вариант работает, но только если у меня один вид, но у меня ещё есть вид cat.php(вид категории), page.php(Вид страницы из меню), search.php(Вид поиска для которого тоже нужно отдельный title) ну и главная страница на которой должно быть просто написано «Блог Олега Сунцева»

А в переменной $title можно добавить только одно значение.
Я конечно могу добавить там ещё значения типа » и «, но это будет не так, как мне надо да и к тому же, как я добавлю там название сайта. В общем так не выйдет.

Был бы хороший вариант, если бы код «» можно было бы добавить в каждый из видов отдельно, но так как вид подключается после header.php я не могу так сделать.

Пожалуйста, помогите мне разобраться, как решить эту проблему.
Только решение по средствам JQuery мне не подойдёт.

Нужно, что бы браузеры определяли страницы, как разные с разными заголовками.

Изменение «title» после индексации сайта
Здравствуйте! Хочу поменять содержимое тега "title" у сайта который уже проиндексирован. Какие.

изменение TITLE на многих страницах сайта сразу
Есть сайт, не мной сделанный, надо его по НЧ прокачать. В TITLE страниц есть лишнее, которое надо.

Как в новом WordPress с его php wp_head(); убрать из title название сайта в рубриках?
Ребята, а кто подскажет как в новом WordPress с его <?php wp_head(); ?> убрать из title название.

Изменение title и description
Я изменил на своем сайте title и description, скажите когда поисковики обновлят данные по сайту?

Эксперт PHP

Проблема исходит из кривой архитектуры. Почитайте про MVC и роутинг в PHP.

ЦитатаСообщение от CyberEeOne Посмотреть сообщение

ЦитатаСообщение от CyberEeOne Посмотреть сообщение

Если можете с $articles[‘name’], значит можете и с остальными. В шаблоне оставляете , а в остальных файлах (cat.php, page.php и т.п.) в начале файла прописываете:

$title = 'здесь уникальный текст для этой страницы';

Затем подключаете хеадер. Должно работать.

ЦитатаСообщение от CyberEeOne Посмотреть сообщение

Про MVC читал. Объясните мне, пожалуйста в чём заключается кривость моей архитектуры? Может быть я чего-то недопонял.

ЦитатаСообщение от Jodah Посмотреть сообщение

$title = 'Уникальный текст для этого вида';

а в header.php между тегами title напишу , то ничего работать не будет, так как браузер логически по очерёдности сначала загружает header.php, а потом уже вид(Тот вид на котором был пользователь)
Я не могу сделать, что-бы сначала загружался вид, а потом header.php, потому что нельзя, что бы head был внутри body и вообще вся структура кода сломается.

По сути в переменной $title можно добавить все значения, но мне такой вариант не подходит, так как нужно что-бы для каждого вида был только его личный заголовок. Мне не нужно, что-бы на каждом виде были все заголовки для всех видов сразу сразу(Например: Блог Олега СунцеваОбо мнеНовая статьяНовостиПоиск). В моём случае надо, что бы в переменной $title было только то значение, которое относится к данному виду. То есть, если человек находится на странице статьи(article.php), то код должен выглядеть так: $title = $articles[‘name’];, а если человек находится на странице категории, то соответственно код должен выглядеть так: $title = $category_name[0][‘category_name’];
Это конечно можно реализовать, как вы сказали. То есть добавить

$title = 'Уникальный текст для этого вида';

На каждый из видов(страниц), но опять же как я уже говорил выше, тогда нужно подключать header.php после подключения вида, но так не получится, потому что структура кода ломается.

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

ЦитатаСообщение от Jodah Посмотреть сообщение

По сути кавычки там были не нужны, но например, если я хочу динамически вывести название статьи на которой нахожусь и к примеру дальше какой нибудь статический текст типа «- Блог Олега Сунцева», то кавычки будут нужны.

Если я что-то не правильно понимаю, то пожалуйста объясните по подробней, что я не так делаю и как сделать правильно.

Эксперт PHP

ЦитатаСообщение от CyberEeOne Посмотреть сообщение

ЦитатаСообщение от CyberEeOne Посмотреть сообщение

Сами ответили на свой вопрос. Кстати, интересно, что вы имеете ввиду под видом.

По MVC. Сначала идёт запуск контроллера, затем внутри него происходит получение данных от моделей (например из БД) и передача этих данных шаблонам.

Но даже если отойти от MVC, в любом случае нужно сначала получить данные, а затем уже подставлять их в шаблон. А у вас наоборот, сначала вывод шаблона, затем получение данных для него.

ЦитатаСообщение от Jodah Посмотреть сообщение

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

Всего у меня 5 видов:
home.php — Домашняя страница. На ней отображаются все статьи;
cat.php — Страница отдельной категории. На ней отображаются статьи отдельной категории на которую перешли;
search.php — Страница с результатами поиска;
page.php — Страница с контентом из меню. К примеру «Обо мне»;
article.php — Страница отдельной статьи.

ЦитатаСообщение от Jodah Посмотреть сообщение

По MVC. Сначала идёт запуск контроллера, затем внутри него происходит получение данных от моделей (например из БД) и передача этих данных шаблонам.

Вот код основного файла index.php, который находится в корне сайта:

1 2 3 4 5 6 7 8 9 10 11 12
 //Запрет прямого обращения define ('OLEG_SUNTSEV_BLOG', TRUE); //Подключение файла конфигурации require_once 'config.php'; //Подключение контроллера require_once CONTROLLER; ?>

Вот код файла конфигурации — config.php:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
 defined('OLEG_SUNTSEV_BLOG') or die('Access denied'); //Домен define ('PATH', 'https://suntsev.ru/'); //Модель define ('MODEL', 'model/model.php'); //Контроллер define ('CONTROLLER', 'controller/controller.php'); //Вид define ('VIEW', 'views/'); //Стандартный шаблон define ('TEMPLATE', VIEW.'blog-temple/'); //папка с картиками сайта define ('SITEIMG', PATH.'userfiles/site_img/'); //папка с основными картинками статьи define ('ARTICLEIMG', PATH.'userfiles/article_img/baseimg/'); //папка с иконками для рубрик и социальных сетей define ('USERICO', PATH.'userfiles/user_icons/baseico/'); // максимально допустимый вес загружаемых файлов - 1 Мб define ('SIZE', 1048576); // Сервер БД define ('HOST', 'localhost'); //Пользователь define ('USER', 'user'); //Пароль define ('PASS', '***'); // БД define ('DB', 'BD_name'); //Название блога - title define ('TITLE', $site[1][0]); //Количество статей на страницу define('PERPAGE', 5); // папка шаблонов административной части define('ADMIN_TEMPLATE', 'templates/'); // Подключение к базе данных mysql_connect(HOST, USER, PASS) or die('No connect to Server'); mysql_select_db(DB) or die('No connect to DB'); mysql_query("SET NAMES 'UTF8'") or die('Cant set charset');

Тот index.php где подключается header.php и всё остальное находится в папке views/blog-temple

В файле controller.php я подключаю файл model.php
в model.php я получаю данные из БД и передаю эти данные шаблонам уже через controller.php

Вроде я сначала получаю данные, а потом вывожу шаблон. Может быть я снова что-то упустил?

Добавлено через 1 минуту

ЦитатаСообщение от Jodah Посмотреть сообщение

Источник

Читайте также:  Простой живой поиск
Оцените статью