Замена Title на PHP

(Ответов: 5, Просмотров: 2512)
  1. Студент Аватар для CaHbKa
    • Регистрация: 05.09.2009
    • Сообщений: 40
    • Репутация: 6
    • Webmoney BL: ?
    Для одного сайта понадобилось изменять Titile страницы, так как по всему CMS у него один и тот же Titile практически.

    Нашел в сети код:

    PHP код:
    <?php 
    $content 
    ob_get_contents();  
    ob_end_clean();
    preg_match "/<h1>(.*)<\/h1>/i"$content$matches);
    $content preg_replace "/<title>(.*)<\/title>/i"'<title>' strip_tags($matches[1]) . '</title>'$content);  
    echo 
    $content;
    ?>
    Который без проблем заменяет title на текст из H1.

    Но, если на странице нет тега H1 то он заменяет его на пустоту

    Подскажите, как сделать так чтобы на странице если нету тега H1, то он не заменял Titile страницы и наоборот?

    Спасибо заранее!
    • 0
  2. Sunshine reggae Аватар для OKyJIucT
    • Регистрация: 02.09.2011
    • Сообщений: 3,240
    • Репутация: 1830
    • Webmoney BL: ?
    PHP код:
    <?php  
    $content 
    ob_get_contents();
    ob_end_clean(); 
    preg_match "/<h1>(.*)<\/h1>/i"$content$matches); 
    if(!empty(
    strip_tags($matches[1])) $content preg_replace "/<title>(.*)<\/title>/i"'<title>' strip_tags($matches[1]) . '</title>'$content);
    echo 
    $content
    ?>
    Если то, на что хотите заменить, не пустое - произойдет замена. Если пустое - title останется без изменений
    • 1

    Спасибо сказали:

    CaHbKa(04.04.2013),
  3. Студент Аватар для CaHbKa
    • Регистрация: 05.09.2009
    • Сообщений: 40
    • Репутация: 6
    • Webmoney BL: ?
    Вылезла такая ошибка:

    Fatal error: Can't use function return value in write context in

    PHP код:
    if(!empty(strip_tags($matches[1])) $content preg_replace "/<title>(.*)<\/title>/i"'<title>' strip_tags($matches[1]) . '</title>'$content); 
    • 0
  4. Sunshine reggae Аватар для OKyJIucT
    • Регистрация: 02.09.2011
    • Сообщений: 3,240
    • Репутация: 1830
    • Webmoney BL: ?
    Щас, я у себя на тестовом сайте попробую:) Сам начинающий, поэтому сходу правильно не всегда получается)

    ----------------

    Вот это у меня работает

    PHP код:
    <?php  
    $content 
    ob_get_contents();
    ob_end_clean(); 
    preg_match "/<h1>(.*)<\/h1>/i"$content$matches); 
    if(!empty(
    $matches)) $content preg_replace "/<title>(.*)<\/title>/i"'<title>' strip_tags($matches[1]) . '</title>'$content);
    echo 
    $content
    ?>
    Последний раз редактировалось OKyJIucT; 04.04.2013 в 14:17.
    • 1

    Спасибо сказали:

    CaHbKa(04.04.2013),
  5. Студент Аватар для CaHbKa
    • Регистрация: 05.09.2009
    • Сообщений: 40
    • Репутация: 6
    • Webmoney BL: ?
    OKyJIucT, большое спасибо! То что нужно!!!!
    • 1

    Спасибо сказали:

    OKyJIucT(04.04.2013),
  6. Опытный Аватар для madcap
    • Регистрация: 30.01.2013
    • Сообщений: 312
    • Репутация: 45
    • Webmoney BL: ?
    М-м-м.... Делать title из H1 - думаю это плохая идея. Как в плане оптимизации, так и гибкости.
    Идеальным была бы возможность настраивать эти теги по отдельности.
    Если движок не слишком навороченный. То возможно имеет смысл добавить ещё поля в базу данных, отвечающие за эти теги. А в самом двиге задать их вывод и редактирование в админке - взяв в качестве примера куски кода из этого двига, которые отвечают за другие поля в материалах.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Замена плагинов на код
WordPress 6 13.01.2013 19:18
Автоматическая замена букв
Софт, скрипты, сервисы 9 14.10.2011 22:35
Есть замена All in One SEO Pack?
Вопросы от новичков 4 21.01.2011 03:07
замена строк
Софт, скрипты, сервисы 1 26.01.2010 01:25

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры