Май 022012
 

В общем-то все понятно. Кратко поясню:

Задача: вставить в середину текста рекламу.

$str - строка текста, в которую нужно вставить рекламу.
$ad - сама реклама
$tag - тег, который будет использоваться в качестве отправной точки, 
обязательно должен быть закрывающим, я использовал </p>
function insert_ad_middle($str,$ad,$tag)
{
$strlen=strlen($str); // количество символов

$data = (int)($strlen /3); // делим на три части

$text1  = substr($str,0,$data); // получаем первую часть текста
$text2  = substr($str,$data,$data); // получаем вторую часть текста
$text3  = substr($str,$data*2,$strlen);  // получаем третью часть текста

$pos = strpos($text2, $tag);
if ($pos!== false){ // есть ли нужный тег в строке?
 $text2=explode($tag,$text2,2); //разбиваем до тега и после него
 
$ad=$tag.'

'.$ad.'

'; // вставляем рекламу $full = $fulltext=$text1.$text2[0].$ad.$text2[1].$text3; // собираем текст вкучу return $full; } else { return $str; // тег не найден, просто возвращаем строку } }

пример

$str="<p>123</p>
<p>456</p>
<p>fgfggffgf</p>
<p>789</p>";
echo insert_ad_middle($str,'yo!','</p>');

Пользуйтесь :)

Дорогие читатели! Мною было принято решение закрыть комментарии на блоге. Теперь все обсуждения переносятся на недавно открытый форум, ввиду того, что формат сообщений там намного удобней для обсуждения. Не стесняйтесь задавать любые вопросы по тематике блога! Я всегда на связи.
Перейти на форум
.
 Опубликовано в 12:46 пп

Извините, форма комментирования закрыта в данный момент.