Перейти к публикации
nexRM.ru
  • Добро пожаловать на nexROM.ru!

    Присоединяйся к IT Сообществу nexROM.ru! После регистрации ты сможешь вести собственные блоги, создавать клубы и общаться на форуме!

Блоги

Блоги сайта

  1. NexROM_WebDEV

    • 1
      запись
    • 0
      комментариев
    • 49
      просмотров

    Последние записи

    Бывает так – есть сайт на CMS c множеством статей и нужно вставить в каждую статью баннер, лучше в её центр т.к. в таком месте у баннера будет лучшая эффективность. Но не вставлять же в админке код баннера в каждую статью отдельно.

     

    2016-11-1911-52-58.png.c3fea38292cffacd71f5ce1608e68f07.png

     

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

     

    $article = 'Текст статьи';
    $banner  = 'Код баннера';
     
    $text = $article;
    $text = str_replace('<p> </p>', '', $text);
    $text = preg_replace('/<table[^>]*?>.*?</table>/si', '', $text);
    preg_match_all('/(<p|<ul|<ol|<div|<h2|<h3|<h4|<h5|<h6)+(.*)/i', $text, $res);
     
    foreach ($res[0] as $row) {
    	if (!empty($row)) {
    		$bl[] = $row;
    	}
    }
     
    $c = ceil(count(@$bl) / 3);
    if (isset($bl[$c])) {
    	$article = str_replace($bl[$c], $banner . $bl[$c], $article);
    }
     
    echo $article;

     

     

     

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...