Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Как создать динамический заголовок из предложенного код

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

ShaDOWNIK



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всех с праздником. Сразу скажу код не мой. Руководство компании, в которой я работаю сказали, чтобы разобрался с кодом, все решил, единственное заголовок на всех страницах статический, а мне условие было поставлено, чтобы для каждой страницы он был свой и брался из переменных каждой страницы. Познания в php средние. Помогите решить проблему с  доступностью переменной $title в файле php где формируется вывод страницы, для использования его в <title></title>. Пробовал использовать $_SESSION, но сессии выводятся с запозданием и получается вместо нужного заголовка выводится заголовок предыдущей просмотренной страницы.  
 
        <?php if ($row157[0]['kateg']==1) {  $model = $ob->fetch("m_title", $t_marka, "m_id='".$row157[0]['m_id']."'")
        .' '.$ob->fetch("m2_title", $t_model, "m2_id='".$row157[0]['m2_id']."'");
        }  else { $model = $row157[0]['zagol']; }
        $year = $row157[0]['god'];  
        $price = $row157[0]['tsena']; if ($row157[0]['valuta']==0) $cur = "$"; else $cur = "euro";
        $city = $ob->fetch("gorod", $t_region, "id='".$row157[0]['region']."'");
        $title =$model.' '.$year.' '.$price.$cur.' '.$city;
        ?>
        

Всего записей: 23 | Зарегистр. 07-05-2009 | Отправлено: 12:20 01-05-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShaDOWNIK
этого мало. откуда мы знаем где и как формируется выводимая страница?  
сначала нужно найти где создается <title> часть страницы, посмотреть какие переменные там доступны, добавить свою или изменить готовую и тд и тп.
данный кусок кода мало о чем говорит

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:25 01-05-2014
ShaDOWNIK



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сделал с помощью функции, но не заменяет к сожалению метатег description
function change_title($new_title) {
    $output = ob_get_contents();
    ob_end_clean();
    $output = preg_replace("/<title>(.*?)<\/title>/", "<title>$new_title</title>", $output);
    $output = preg_replace('/<meta name="description" content="(.*?)"\/>/i','<meta name="description" content="'.$new_title.'" />', $output);
    echo $output;
  }
 
заменяет title, но не заменяет meta description

Всего записей: 23 | Зарегистр. 07-05-2009 | Отправлено: 17:12 02-05-2014
CodeKeeper

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А место формирования заголовков и метатегов, найти судьба не позволяет?

Всего записей: 24 | Зарегистр. 28-12-2013 | Отправлено: 17:42 02-05-2014
ShaDOWNIK



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CodeKeeper

Цитата:
А место формирования заголовков и метатегов, найти судьба не позволяет?

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

Всего записей: 23 | Зарегистр. 07-05-2009 | Отправлено: 18:49 02-05-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShaDOWNIK
вопросы по регулярным выражениям задают тут  
PHP: Регулярные выражения (RegExp, Regular, eregi, preg)
проще найти где формируется эта часть в коде, чем использовать буфер и заменять таким образом - можно заменить не то, что хочется.
 

Цитата:
мета описаний выводятся одни и те же заголовки и мета описани

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

Цитата:
заменяет title, но не заменяет meta description

проверьте какие кавычки используются - одинарные или нет.
. не включает в себя символ переноса строки, поэтому вместо /i напишите /is

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:18 02-05-2014
ShaDOWNIK



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Спасибо, вам за всю вашу помощь. К сожалению опыт в[научите меня культуре] разработки отсутствует. Да и разбираться в плотную с этим говнокодом честно говоря не охота, если бы мне платили как тому разработчику, может бы я все нормально бы сделал. замена /i на /is на сайте все крякозябрами показывается. пробовал два файла создать на локальном компьютере все прекрасно меняет, а на сервере даже незнаю почему.
 
 
Добавлено:
а почему слово на русском web выводится [научите меня культуре]?

Всего записей: 23 | Зарегистр. 07-05-2009 | Отправлено: 05:58 03-05-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShaDOWNIK

Цитата:
а почему слово на русском web выводится

ctrl + f5 нажмите и не будет
 

Цитата:
а на сервере даже незнаю почему

с кодировками что то не так. если страница в уникоде, то нужно для регулярки добавить /isu


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 06:33 03-05-2014
ShaDOWNIK



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Еще раз огромное спасибо, решение найдено.
 прописал вот такую строку все заработало.
$output = preg_replace("/<meta name=\"description\" content=\"(.*)\"[^>]*>/Usi", "<meta name=\"description\" content=\"".$new_title."\" />", $output);

Всего записей: 23 | Зарегистр. 07-05-2009 | Отправлено: 19:57 03-05-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShaDOWNIK
ну, вообще то, я указывал другое ) дело в том, что .*? и .*/U
это одно и то же. вы же говорили о проблемах с кодировкой, вот я и подумал, что там где то уникод, а где то нет.
но, видимо, проблема была в чем то другом. проще о ней судить, конечно, при наличии ссылки на страницу.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:20 03-05-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Как создать динамический заголовок из предложенного код


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru