PHP

Вставить баннер в центр статьи

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

Решение:

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

<?php
$article = 'Текст статьи';
$banner  = 'Код баннера';

$text = $article;
$text = str_replace('<p>&nbsp;</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;
В последнее время письма отправляемые с хостингов через функции mail() и mb_send_mail() часто попадают или совсем не...
cURL PHP – это библиотека предназначенная для получения и передачи данных через такие протоколы, как HTTP, FTP, HTTPS....
В статье приведены основные примеры работы с расширением PHP PDO. Такие как подключение к БД, получение, изменение и...
Библиотека GD дает возможность работать с изображениями в PHP. Далее представлены примеры как изменить размер, вырезать...