Как разместить рекламу после первого предложения поста WordPress? - PullRequest
0 голосов
/ 25 мая 2011

Интересно, какую технику использовать для размещения рекламы после первого или, возможно, второго предложения поста WP.

На самом деле может быть больше вариаций и проблем (теги HTML, используемые в самой записи, код, вставленный другими плагинами, выполняемыми до нашего)

Я не уверен, безопасно ли просто использовать PHPфункция взрыва (точка в конце предложения)

Или, может быть, для этого уже создан плагин?

1 Ответ

0 голосов
/ 26 мая 2011

Вот быстрый и грязный ответ, который работает на удивление хорошо.

<?php
    $ad       = '<b>!!!ADVERTISEMENT!!!</b>';
    $content = get_the_content();
    $content = apply_filters('the_content', $content);
    $content = str_replace(']]>', ']]&gt;', $content);

    //Matches a word with a space before it and a period after it.
    $array        = preg_split('/\s(\w+){1}\.(?!\w)/', $content, 2, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
    $end              = array_pop($array);
    $delimiterMatch  = array_pop($array);
    $delimiterMatch .= '. ';//the period disappeared and im too lazy to find out why.
    $beginning    = array_pop($array);

    echo $beginning . $delimiterMatch . $ad . $end;

?>

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

...